<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script>/*! For license information please see mutation-test-elements.js.LICENSE.txt */
!function(){var t={3704:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o),a=r(8991),l=r.n(a),c=new URL(r(9138),r.b),u=new URL(r(3783),r.b),d=s()(i()),h=l()(c),p=l()(u);d.push([t.id,":host(:not([theme=dark])){--prism-maintext:#393a34;--prism-background:#f6f8fa;--prism-border:#ddd;--prism-cdata:#998;--prism-comment:var(--prism-cdata);--prism-doctype:var(--prism-cdata);--prism-prolog:var(--prism-cdata);--prism-attr-value:#e3116c;--prism-string:var(--prism-attr-value);--prism-boolean:#36acaa;--prism-entity:var(--prism-boolean);--prism-url:var(--prism-boolean);--prism-constant:var(--prism-boolean);--prism-inserted:var(--prism-boolean);--prism-number:var(--prism-boolean);--prism-property:var(--prism-boolean);--prism-regex:var(--prism-boolean);--prism-symbol:var(--prism-boolean);--prism-variable:var(--prism-boolean);--prism-atrule:#00a4db;--prism-attr-name:var(--prism-atrule);--prism-attr:var(--prism-atrule);--prism-operator:var(--prism-maintext);--prism-punctuation:var(--prism-maintext);--prism-deleted:#9a050f;--prism-function:var(--prism-deleted);--prism-function-variable:#6f42c1;--prism-selector:#00009f;--prism-tag:var(--prism-selector);--prism-keyword:var(--prism-selector)}:host([theme=dark]){--prism-maintext:#d3d0c8;--prism-background:#1d1f21;--prism-border:rgb(var(--mut-gray-200));--prism-cdata:#7c7c7c;--prism-comment:var(--prism-cdata);--prism-doctype:var(--prism-cdata);--prism-prolog:var(--prism-cdata);--prism-punctuation:#c5c8c6;--prism-tag:#96cbfe;--prism-property:var(--prism-tag);--prism-keyword:var(--prism-tag);--prism-class-name:#ffffb6;--prism-boolean:#9c9;--prism-constant:var(--prism-boolean);--prism-symbol:#f92672;--prism-deleted:var(--prism-symbol);--prism-number:#ff73fd;--prism-inserted:#a8ff60;--prism-selector:var(--prism-inserted);--prism-attr-name:var(--prism-inserted);--prism-string:var(--prism-inserted);--prism-char:var(--prism-inserted);--prism-builtin:var(--prism-inserted);--prism-variable:#c6c5fe;--prism-operator:#ededed;--prism-entity:#ffffb6;--prism-url:#96cbfe;--prism-attr-value:#f9ee98;--prism-atrule:var(--prism-attr-value);--prism-function:#dad085;--prism-regex:#e9c062;--prism-important:#fd971f}:host(:not([theme=dark])){--mut-file-ts-color:#498ba7;--mut-file-ts-test-color:#b7b73b;--mut-file-scala-color:#b8383d;--mut-file-java-color:#b8383d;--mut-file-js-color:#b7b73b;--mut-file-js-test-color:#cc6d2e;--mut-file-php-color:#9068b0;--mut-file-html-color:#498ba7;--mut-file-csharp-color:#498ba7;--mut-file-vue-color:#7fae42;--mut-file-gherkin-color:#00a818}:host([theme=dark]){--mut-file-ts-color:#519aba;--mut-file-ts-test-color:#cbcb41;--mut-file-scala-color:#cc3e44;--mut-file-java-color:#cc3e44;--mut-file-js-color:#cbcb41;--mut-file-js-test-color:#e37933;--mut-file-php-color:#a074c4;--mut-file-html-color:#519aba;--mut-file-csharp-color:#519aba;--mut-file-vue-color:#8dc149;--mut-file-gherkin-color:#10b828}:host(:not([theme=dark])){--mut-gray-bg:rgb(var(--mut-white,255 255 255)/1);--mut-octicon-icon-color:#498ba7;--mut-line-number:#6e7781;--mut-diff-add-bg:#e6ffec;--mut-diff-add-bg-line-number:#ccffd8;--mut-diff-add-line-number:#24292f;--mut-diff-del-bg:#ffebe9;--mut-diff-del-bg-line-number:#ffd7d5;--mut-diff-del-line-number:var(--mut-diff-add-line-number);--mut-badge-info-bg:#54c6ec;--mut-badge-info:#212529;--mut-code-lense:#919191;--mut-squiggly-Survived:url("+h+");--mut-squiggly-NoCoverage:url("+p+");--mut-body-bg:#fff}:host([theme=dark]){--mut-gray-50:24 24 27;--mut-gray-100:39 39 42;--mut-gray-200:63 63 70;--mut-gray-300:82 82 91;--mut-gray-400:113 113 122;--mut-gray-500:161 161 170;--mut-gray-600:212 212 216;--mut-gray-700:228 228 231;--mut-gray-800:244 244 245;--mut-gray-900:250 250 250;--mut-primary-100:7 89 133;--mut-primary-800:224 242 254;--mut-primary-900:240 249 255;--mut-primary-on:14 165 233;--mut-body-bg:#18181b;--mut-white:var(--mut-gray-50);--mut-octicon-icon-color:#519aba;--mut-line-number:#484f58;--mut-diff-add-bg:rgba(46,160,67,.15);--mut-diff-add-bg-line-number:rgba(63,185,80,.3);--mut-diff-add-line-number:#c9d1d9;--mut-diff-del-bg:rgba(248,81,73,.15);--mut-diff-del-bg-line-number:rgba(248,81,73,.3);--mut-diff-del-line-number:#c9d1d9;--mut-badge-info-bg:#17a3b8;--mut-badge-info:#fff;--mut-code-lense:#999;--mut-squiggly-Survived:url("+h+");--mut-squiggly-NoCoverage:url("+p+");color-scheme:dark}",""]),e.Z=d},9483:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,":host([mode=closed]){height:0}:host([mode=half]){height:120px}:host([mode=open]){height:50%}:host([mode=open]) .scrollable{height:100%;overflow-x:hidden;overflow-y:auto}",""]),e.Z=s},8847:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,"svg.cs{fill:var(--mut-file-csharp-color)}svg.html{fill:var(--mut-file-html-color)}svg.java{fill:var(--mut-file-java-color)}svg.javascript{fill:var(--mut-file-js-color)}svg.scala{fill:var(--mut-file-scala-color)}svg.typescript{fill:var(--mut-file-ts-color)}svg.php{fill:var(--mut-file-php-color)}svg.vue{fill:var(--mut-file-vue-color)}svg.octicon{fill:var(--mut-octicon-icon-color)}svg.javascript.test,svg.typescript.test{fill:var(--mut-file-js-test-color)}svg.gherkin{fill:var(--mut-file-gherkin-color)}svg{vertical-align:middle;width:20px}",""]),e.Z=s},5545:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,'#report-code-block{background:var(--prism-background);border:1px solid var(--prism-border);overflow-x:auto;overflow-y:visible}.line-numbers{counter-reset:mte-line-number}.line .line-number{color:var(--mut-line-number);counter-increment:mte-line-number;padding:0 10px 0 15px;text-align:right}.line .line-number:before{content:counter(mte-line-number)}.line-marker:before{content:" ";padding:0 5px}.mte-selected-Pending .mutant.Pending{border-bottom:2px solid;border-color:#a3a3a3;cursor:pointer}svg.mutant-dot.Pending{fill:#a3a3a3}.mte-selected-Killed .mutant.Killed{border-bottom:2px solid;border-color:#16a34a;cursor:pointer}svg.mutant-dot.Killed{fill:#16a34a}svg.mutant-dot.NoCoverage{fill:#f97316}svg.mutant-dot.Survived{fill:#ef4444}.mte-selected-Timeout .mutant.Timeout{border-bottom:2px solid;border-color:#fbbf24;cursor:pointer}svg.mutant-dot.Timeout{fill:#fbbf24}.mte-selected-CompileError .mutant.CompileError{border-bottom:2px solid;border-color:#a3a3a3;cursor:pointer}svg.mutant-dot.CompileError{fill:#a3a3a3}.mte-selected-RuntimeError .mutant.RuntimeError{border-bottom:2px solid;border-color:#a3a3a3;cursor:pointer}svg.mutant-dot.RuntimeError{fill:#a3a3a3}.mte-selected-Ignored .mutant.Ignored{border-bottom:2px solid;border-color:#a3a3a3;cursor:pointer}svg.mutant-dot.Ignored{fill:#a3a3a3}svg.mutant-dot.selected{fill:#38bdf8}.mte-selected-Survived .mutant.Survived{border-bottom-style:solid;border-image-outset:6px;border-image-repeat:repeat;border-image-slice:0 0 4 0;border-image-source:var(--mut-squiggly-Survived);border-image-width:4px;cursor:pointer}.mte-selected-Survived .mutant.Survived .mutant.NoCoverage,.mte-selected-Survived .mutant.Survived .mutant.Survived{border-bottom-style:none;-o-border-image:none;border-image:none}.mte-selected-NoCoverage .mutant.NoCoverage{border-bottom-style:solid;border-image-outset:6px;border-image-repeat:repeat;border-image-slice:0 0 4 0;border-image-source:var(--mut-squiggly-NoCoverage);border-image-width:4px;cursor:pointer}.mte-selected-NoCoverage .mutant.NoCoverage .mutant.NoCoverage,.mte-selected-NoCoverage .mutant.NoCoverage .mutant.Survived{border-bottom-style:none;-o-border-image:none;border-image:none}.mutant-dot{cursor:pointer}svg.mutant-dot{margin:2px}.diff-old{background-color:var(--mut-diff-del-bg)}.diff-focus{background-color:var(--mut-diff-add-bg-line-number)}.diff-old .line-number{background-color:var(--mut-diff-del-bg-line-number);color:var(--mut-diff-del-line-number)}.diff-old .line-marker:before{content:"-"}.diff-new{background-color:var(--mut-diff-add-bg)}.diff-new .empty-line-number{background-color:var(--mut-diff-add-bg-line-number);color:var(--mut-diff-add-line-number)}.diff-new .line-marker:before{content:"+"}',""]),e.Z=s},3813:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,"main{padding-bottom:120px}",""]),e.Z=s},1276:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,".step-button{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(var(--mut-primary-600,2 132 199)/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(var(--mut-white,255 255 255)/var(--tw-text-opacity));display:inline-flex;margin-right:.5rem;padding:.25rem;text-align:center}.step-button:hover{--tw-bg-opacity:1;background-color:rgb(var(--mut-primary-700,3 105 161)/var(--tw-bg-opacity))}.step-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(var(--mut-primary-500,14 165 233)/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}",""]),e.Z=s},5110:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,'#report-code-block{background:var(--prism-background);border:1px solid var(--prism-border);overflow-x:auto;overflow-y:visible}.line-numbers{counter-reset:mte-line-number}.line .line-number{color:var(--mut-line-number);counter-increment:mte-line-number;padding:0 10px 0 15px;text-align:right}.line .line-number:before{content:counter(mte-line-number)}.line-marker:before{content:" ";padding:0 5px}svg.test-dot.Killing{fill:#15803d}svg.test-dot.Covering{fill:#fbbf24}svg.test-dot.NotCovering{fill:#f97316}svg.test-dot.selected{fill:#38bdf8}svg.test-dot{margin:2px}',""]),e.Z=s},9827:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,"main{padding-bottom:120px}",""]),e.Z=s},4835:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,'#darkTheme{position:absolute;right:100vw}#darkTheme+label{--i:0;--j:calc(1 - var(--i));grid-gap:.15em .06em;background:hsl(199,98%,calc(var(--j)*48%));border-radius:.75em;color:transparent;cursor:pointer;display:grid;height:1.5em;overflow:hidden;padding:.15em;transition:.3s;-webkit-user-select:none;user-select:none}#darkTheme+label:after,#darkTheme+label:before{content:"";height:1.2em;transition:inherit;width:1.2em}#darkTheme+label:before{--poly:polygon(44.133707561% 12.9616872277%,50% 0%,55.866292439% 12.9616872277%,59.7057141913% 13.7777815142%,63.4387981079% 14.9907340064%,67.0246437402% 16.5872553429%,79.3892626146% 9.5491502813%,76.5165042945% 23.4834957055%,79.1429735546% 26.4004853356%,81.450146298% 29.5760361869%,83.4127446571% 32.9753562598%,97.5528258148% 34.5491502813%,87.0383127723% 44.133707561%,87.4486075533% 48.0374016409%,87.4486075533% 51.9625983591%,87.0383127723% 55.866292439%,97.5528258148% 65.4508497187%,83.4127446571% 67.0246437402%,81.450146298% 70.4239638131%,79.1429735546% 73.5995146644%,76.5165042945% 76.5165042945%,79.3892626146% 90.4508497187%,67.0246437402% 83.4127446571%,63.4387981079% 85.0092659936%,59.7057141913% 86.2222184858%,55.866292439% 87.0383127723%,50% 100%,44.133707561% 87.0383127723%,40.2942858087% 86.2222184858%,36.561201892% 85.0092659936%,32.9753562598% 83.4127446571%,20.6107373854% 90.4508497187%,23.4834957055% 76.5165042945%,20.8570264454% 73.5995146644%,18.5498537021% 70.4239638131%,16.587255343% 67.0246437402%,2.4471741856% 65.4508497188%,12.9616872286% 55.8662924391%,12.5513924487% 51.9625983594%,12.5513924508% 48.0374016414%,12.961687236% 44.1337075622%,2.4471742159% 34.5491502859%,16.587255404% 32.9753562694%,18.5498538164% 29.5760362054%,20.8570266557% 26.4004853707%,23.4834960862% 23.4834957706%,20.6107385856% 9.5491504949%,32.97535832% 16.5872557238%,36.5612054098% 14.9907346728%,40.2942917387% 13.7777826649%);background:#ff0;-webkit-clip-path:var(--poly);clip-path:var(--poly);transform:translate(calc(var(--i)*(100% + .06em))) scale(calc(1 - var(--i)*.8));transform-origin:20% 20%}#darkTheme+label:after{background:radial-gradient(circle at 19% 19%,transparent 41%,#fff 43%);border-radius:50%;grid-column:2;transform:translatey(calc(var(--i)*(-130% - .15em)))}#darkTheme:checked+label{--i:1}.check-box-container{width:2.9em}',""]),e.Z=s},5043:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,"",""]),e.Z=s},6773:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o),a=r(5863),l=r(4911),c=s()(i());c.i(a.Z),c.i(l.Z),c.push([t.id,"",""]),e.Z=c},7063:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o),a=r(8991),l=r.n(a),c=new URL(r(6526),r.b),u=new URL(r(1716),r.b),d=new URL(r(4995),r.b),h=new URL(r(421),r.b),p=s()(i()),f=l()(c),m=l()(u),g=l()(d),v=l()(h);p.push([t.id,'/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:rgb(var(--mut-gray-200,228 228 231)/1);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:rgb(var(--mut-gray-400,161 161 170)/1);opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:rgb(var(--mut-gray-500,113 113 122)/var(--tw-border-opacity,1));border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::placeholder,textarea::placeholder{color:rgb(var(--mut-gray-500,113 113 122)/var(--tw-text-opacity,1));opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url('+f+');background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:rgb(var(--mut-gray-500,113 113 122)/var(--tw-border-opacity,1));border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url('+m+")}[type=radio]:checked{background-image:url("+g+")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("+v+");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{margin-left:auto;margin-right:auto;width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}@media (min-width:2000px){.container{max-width:2000px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.top-0{top:0}.top-offset{top:var(--top-offset,0)}.z-10{z-index:10}.z-20{z-index:20}.float-right{float:right}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.my-4{margin-bottom:1rem;margin-top:1rem}.-mb-px{margin-bottom:-1px}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-12{margin-right:3rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-auto{margin-right:auto}.ms-3{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.w-12{width:3rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.min-w-\\[24px\\]{min-width:24px}.max-w-6xl{max-width:72rem}.table-auto{table-layout:auto}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-around{justify-content:space-around}.gap-4{gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(var(--mut-gray-200,228 228 231)/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity:1;border-color:rgb(var(--mut-gray-200,228 228 231)/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(var(--mut-gray-300,212 212 216)/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(var(--mut-primary-600,2 132 199)/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-100,244 244 245)/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-200,228 228 231)/var(--tw-bg-opacity))}.bg-gray-200\\/60{background-color:rgb(var(--mut-gray-200,228 228 231)/.6)}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-300,212 212 216)/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(var(--mut-primary-100,224 242 254)/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(var(--mut-white,255 255 255)/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-bottom:0;padding-top:0}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.tracking-tight{letter-spacing:-.025em}.text-gray-200{--tw-text-opacity:1;color:rgb(var(--mut-gray-200,228 228 231)/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(var(--mut-gray-600,82 82 91)/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(var(--mut-gray-700,63 63 70)/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(var(--mut-gray-800,39 39 42)/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity))}.text-primary-800{--tw-text-opacity:1;color:rgb(var(--mut-primary-800,7 89 133)/var(--tw-text-opacity))}.text-primary-on{--tw-text-opacity:1;color:rgb(var(--mut-primary-on,3 105 161)/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.\\!ring-offset-gray-200{--tw-ring-offset-color:rgb(var(--mut-gray-200,228 228 231)/1)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:text-gray-800:after{--tw-text-opacity:1;color:rgb(var(--mut-gray-800,39 39 42)/var(--tw-text-opacity));content:var(--tw-content)}.after\\:content-\\[\\'\\/\\'\\]:after{--tw-content:\"/\";content:var(--tw-content)}.even\\:bg-gray-100:nth-child(2n),.odd\\:bg-gray-100:nth-child(odd){--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-100,244 244 245)/var(--tw-bg-opacity))}.hover\\:cursor-pointer:hover{cursor:pointer}.hover\\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(var(--mut-gray-300,212 212 216)/var(--tw-border-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-100,244 244 245)/var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-200,228 228 231)/var(--tw-bg-opacity))}.hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(var(--mut-gray-700,63 63 70)/var(--tw-text-opacity))}.hover\\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(var(--mut-gray-900,24 24 27)/var(--tw-text-opacity))}.hover\\:text-primary-on:hover{--tw-text-opacity:1;color:rgb(var(--mut-primary-on,3 105 161)/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--mut-primary-500,14 165 233)/var(--tw-ring-opacity))}.active\\:bg-gray-200:active,.group:hover .group-hover\\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(var(--mut-gray-200,228 228 231)/var(--tw-bg-opacity))}.aria-selected\\:border-b-\\[3px\\][aria-selected=true]{border-bottom-width:3px}.aria-selected\\:border-primary-700[aria-selected=true]{--tw-border-opacity:1;border-color:rgb(var(--mut-primary-700,3 105 161)/var(--tw-border-opacity))}.aria-selected\\:text-primary-on[aria-selected=true]{--tw-text-opacity:1;color:rgb(var(--mut-primary-on,3 105 161)/var(--tw-text-opacity))}@media (prefers-reduced-motion:no-preference){.motion-safe\\:transition-\\[height\\2c max-width\\]{transition-duration:.15s;transition-property:height,max-width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.motion-safe\\:transition-max-width{transition-duration:.15s;transition-property:max-width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.motion-safe\\:duration-200{transition-duration:.2s}}@media (min-width:768px){.md\\:ml-2{margin-left:.5rem}.md\\:after\\:pl-1:after{content:var(--tw-content);padding-left:.25rem}}@media (min-width:1536px){.\\32xl\\:w-28{width:7rem}}",""]),e.Z=p},4911:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,'pre[class*="language-"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*="language-"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n',""]),e.Z=s},5863:function(t,e,r){"use strict";var n=r(9601),i=r.n(n),o=r(2609),s=r.n(o)()(i());s.push([t.id,"/**\n * GHColors theme by Avi Aryan (http://aviaryan.in)\n * Inspired by Github syntax coloring\n */\n\ncode[class*='language-'],\npre[class*='language-'] {\n  color: var(--prism-maintext);\n  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n  direction: ltr;\n  font-size: 1em;\n  text-align: left;\n  white-space: pre;\n  word-spacing: normal;\n  word-break: normal;\n  line-height: 1.5;\n\n  -moz-tab-size: 4;\n  -o-tab-size: 4;\n  tab-size: 4;\n\n  -webkit-hyphens: none;\n  -moz-hyphens: none;\n  -ms-hyphens: none;\n  hyphens: none;\n}\n\npre > code[class*='language-'] {\n  font-size: 1em;\n}\n\n/* Code blocks */\npre[class*='language-'] {\n  padding: 1em;\n  margin: 0.5em 0;\n  overflow: auto;\n  border: 1px solid var(--prism-border);\n  border-radius: 0.25rem;\n}\n\n:not(pre) > code[class*='language-'],\npre[class*='language-'] {\n  background: var(--prism-background);\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.italic,\n.token.cdata {\n  font-style: italic;\n}\n\n.token.important,\n.token.function,\n.token.bold {\n  font-weight: bold;\n}\n\n.token.namespace {\n  opacity: 0.7;\n}\n\n.token.atrule {\n  color: var(--prism-atrule);\n}\n.token.attr {\n  color: var(--prism-attr);\n}\n.token.attr-name {\n  color: var(--prism-attr-name);\n}\n.token.boolean {\n  color: var(--prism-boolean);\n}\n.token.builtin {\n  color: var(--prism-builtin);\n}\n.token.cdata {\n  color: var(--prism-cdata);\n}\n.token.changed {\n  color: var(--prism-changed);\n}\n.token.char {\n  color: var(--prism-char);\n}\n.token.comment {\n  color: var(--prism-comment);\n}\n.token.constant {\n  color: var(--prism-constant);\n}\n.token.deleted {\n  color: var(--prism-deleted);\n}\n.token.doctype {\n  color: var(--prism-doctype);\n}\n.token.entity {\n  color: var(--prism-entity);\n  cursor: help;\n}\n.token.function {\n  color: var(--prism-function);\n}\n.token.function-variable {\n  color: var(--prism-function-variable, var(--prism-function));\n}\n.token.inserted {\n  color: var(--prism-inserted);\n}\n.token.keyword {\n  color: var(--prism-keyword);\n}\n.token.number {\n  color: var(--prism-number);\n}\n.token.operator {\n  color: var(--prism-operator);\n}\n.token.prolog {\n  color: var(--prism-prolog);\n}\n.token.property {\n  color: var(--prism-property);\n}\n.token.punctuation {\n  color: var(--prism-punctuation);\n}\n.token.regex {\n  color: var(--prism-regex);\n}\n.token.selector {\n  color: var(--prism-selector);\n}\n.token.string {\n  color: var(--prism-string);\n}\n.token.symbol {\n  color: var(--prism-symbol);\n}\n.token.tag {\n  color: var(--prism-tag);\n}\n.token.url {\n  color: var(--prism-url);\n}\n.token.variable {\n  color: var(--prism-variable);\n}\n.token.placeholder {\n  color: var(--prism-placeholder);\n}\n.token.statement {\n  color: var(--prism-statement);\n}\n.token.attr-value {\n  color: var(--prism-attr-value);\n}\n.token.control {\n  color: var(--prism-control);\n}\n.token.directive {\n  color: var(--prism-directive);\n}\n.token.unit {\n  color: var(--prism-unit);\n}\n.token.important {\n  color: var(--prism-important);\n}\n.token.class-name {\n  color: var(--prism-class-name);\n}\n",""]),e.Z=s},2609:function(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var s={};if(n)for(var a=0;a<this.length;a++){var l=this[a][0];null!=l&&(s[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);n&&s[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),e.push(u))}},e}},8991:function(t){"use strict";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/["'() \t\n]|(%20)/.test(t)||e.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t):t}},9601:function(t){"use strict";t.exports=function(t){return t[1]}},8267:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},3712:function(t,e,r){var n=function(t){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,r=0,n={},i={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(e){return e instanceof o?new o(e.type,t(e.content),e.alias):Array.isArray(e)?e.map(t):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++r}),t.__id},clone:function t(e,r){var n,o;switch(r=r||{},i.util.type(e)){case"Object":if(o=i.util.objId(e),r[o])return r[o];for(var s in n={},r[o]=n,e)e.hasOwnProperty(s)&&(n[s]=t(e[s],r));return n;case"Array":return o=i.util.objId(e),r[o]?r[o]:(n=[],r[o]=n,e.forEach((function(e,i){n[i]=t(e,r)})),n);default:return e}},getLanguage:function(t){for(;t;){var r=e.exec(t.className);if(r)return r[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,r){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+r)},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){var t=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(n.stack)||[])[1];if(t){var e=document.getElementsByTagName("script");for(var r in e)if(e[r].src==t)return e[r]}return null}},isActive:function(t,e,r){for(var n="no-"+e;t;){var i=t.classList;if(i.contains(e))return!0;if(i.contains(n))return!1;t=t.parentElement}return!!r}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(t,e){var r=i.util.clone(i.languages[t]);for(var n in e)r[n]=e[n];return r},insertBefore:function(t,e,r,n){var o=(n=n||i.languages)[t],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==e)for(var l in r)r.hasOwnProperty(l)&&(s[l]=r[l]);r.hasOwnProperty(a)||(s[a]=o[a])}var c=n[t];return n[t]=s,i.languages.DFS(i.languages,(function(e,r){r===c&&e!=t&&(this[e]=s)})),s},DFS:function t(e,r,n,o){o=o||{};var s=i.util.objId;for(var a in e)if(e.hasOwnProperty(a)){r.call(e,a,e[a],n||a);var l=e[a],c=i.util.type(l);"Object"!==c||o[s(l)]?"Array"!==c||o[s(l)]||(o[s(l)]=!0,t(l,r,a,o)):(o[s(l)]=!0,t(l,r,null,o))}}},plugins:{},highlightAll:function(t,e){i.highlightAllUnder(document,t,e)},highlightAllUnder:function(t,e,r){var n={callback:r,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",n),n.elements=Array.prototype.slice.apply(n.container.querySelectorAll(n.selector)),i.hooks.run("before-all-elements-highlight",n);for(var o,s=0;o=n.elements[s++];)i.highlightElement(o,!0===e,n.callback)},highlightElement:function(e,r,n){var o=i.util.getLanguage(e),s=i.languages[o];i.util.setLanguage(e,o);var a=e.parentElement;a&&"pre"===a.nodeName.toLowerCase()&&i.util.setLanguage(a,o);var l={element:e,language:o,grammar:s,code:e.textContent};function c(t){l.highlightedCode=t,i.hooks.run("before-insert",l),l.element.innerHTML=l.highlightedCode,i.hooks.run("after-highlight",l),i.hooks.run("complete",l),n&&n.call(l.element)}if(i.hooks.run("before-sanity-check",l),(a=l.element.parentElement)&&"pre"===a.nodeName.toLowerCase()&&!a.hasAttribute("tabindex")&&a.setAttribute("tabindex","0"),!l.code)return i.hooks.run("complete",l),void(n&&n.call(l.element));if(i.hooks.run("before-highlight",l),l.grammar)if(r&&t.Worker){var u=new Worker(i.filename);u.onmessage=function(t){c(t.data)},u.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else c(i.highlight(l.code,l.grammar,l.language));else c(i.util.encode(l.code))},highlight:function(t,e,r){var n={code:t,grammar:e,language:r};if(i.hooks.run("before-tokenize",n),!n.grammar)throw new Error('The language "'+n.language+'" has no grammar.');return n.tokens=i.tokenize(n.code,n.grammar),i.hooks.run("after-tokenize",n),o.stringify(i.util.encode(n.tokens),n.language)},tokenize:function(t,e){var r=e.rest;if(r){for(var n in r)e[n]=r[n];delete e.rest}var i=new l;return c(i,i.head,t),a(t,i,e,i.head,0),function(t){for(var e=[],r=t.head.next;r!==t.tail;)e.push(r.value),r=r.next;return e}(i)},hooks:{all:{},add:function(t,e){var r=i.hooks.all;r[t]=r[t]||[],r[t].push(e)},run:function(t,e){var r=i.hooks.all[t];if(r&&r.length)for(var n,o=0;n=r[o++];)n(e)}},Token:o};function o(t,e,r,n){this.type=t,this.content=e,this.alias=r,this.length=0|(n||"").length}function s(t,e,r,n){t.lastIndex=e;var i=t.exec(r);if(i&&n&&i[1]){var o=i[1].length;i.index+=o,i[0]=i[0].slice(o)}return i}function a(t,e,r,n,l,d){for(var h in r)if(r.hasOwnProperty(h)&&r[h]){var p=r[h];p=Array.isArray(p)?p:[p];for(var f=0;f<p.length;++f){if(d&&d.cause==h+","+f)return;var m=p[f],g=m.inside,v=!!m.lookbehind,b=!!m.greedy,y=m.alias;if(b&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}for(var x=m.pattern||m,k=n.next,$=l;k!==e.tail&&!(d&&$>=d.reach);$+=k.value.length,k=k.next){var S=k.value;if(e.length>t.length)return;if(!(S instanceof o)){var _,A=1;if(b){if(!(_=s(x,$,t,v))||_.index>=t.length)break;var M=_.index,C=_.index+_[0].length,E=$;for(E+=k.value.length;M>=E;)E+=(k=k.next).value.length;if($=E-=k.value.length,k.value instanceof o)continue;for(var P=k;P!==e.tail&&(E<C||"string"==typeof P.value);P=P.next)A++,E+=P.value.length;A--,S=t.slice($,E),_.index-=$}else if(!(_=s(x,0,S,v)))continue;M=_.index;var T=_[0],j=S.slice(0,M),F=S.slice(M+T.length),z=$+S.length;d&&z>d.reach&&(d.reach=z);var O=k.prev;if(j&&(O=c(e,O,j),$+=j.length),u(e,O,A),k=c(e,O,new o(h,g?i.tokenize(T,g):T,y,T)),F&&c(e,k,F),A>1){var R={cause:h+","+f,reach:z};a(t,e,r,k.prev,$,R),d&&R.reach>d.reach&&(d.reach=R.reach)}}}}}}function l(){var t={value:null,prev:null,next:null},e={value:null,prev:t,next:null};t.next=e,this.head=t,this.tail=e,this.length=0}function c(t,e,r){var n=e.next,i={value:r,prev:e,next:n};return e.next=i,n.prev=i,t.length++,i}function u(t,e,r){for(var n=e.next,i=0;i<r&&n!==t.tail;i++)n=n.next;e.next=n,n.prev=e,t.length-=i}if(t.Prism=i,o.stringify=function t(e,r){if("string"==typeof e)return e;if(Array.isArray(e)){var n="";return e.forEach((function(e){n+=t(e,r)})),n}var o={type:e.type,content:t(e.content,r),tag:"span",classes:["token",e.type],attributes:{},language:r},s=e.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(o.classes,s):o.classes.push(s)),i.hooks.run("wrap",o);var a="";for(var l in o.attributes)a+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,"&quot;")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},!t.document)return t.addEventListener?(i.disableWorkerMessageHandler||t.addEventListener("message",(function(e){var r=JSON.parse(e.data),n=r.language,o=r.code,s=r.immediateClose;t.postMessage(i.highlight(o,i.languages[n],n)),s&&t.close()}),!1),i):i;var d=i.util.currentScript();function h(){i.manual||i.highlightAll()}if(d&&(i.filename=d.src,d.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var p=document.readyState;"loading"===p||"interactive"===p&&d&&d.defer?document.addEventListener("DOMContentLoaded",h):window.requestAnimationFrame?window.requestAnimationFrame(h):window.setTimeout(h,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});t.exports&&(t.exports=n),void 0!==r.g&&(r.g.Prism=n)},8423:function(){!function(t){function e(t,e){return t.replace(/<<(\d+)>>/g,(function(t,r){return"(?:"+e[+r]+")"}))}function r(t,r,n){return RegExp(e(t,r),n||"")}function n(t,e){for(var r=0;r<e;r++)t=t.replace(/<<self>>/g,(function(){return"(?:"+t+")"}));return t.replace(/<<self>>/g,"[^\\s\\S]")}var i="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",o="class enum interface record struct",s="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",a="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(t){return"\\b(?:"+t.trim().replace(/ /g,"|")+")\\b"}var c=l(o),u=RegExp(l(i+" "+o+" "+s+" "+a)),d=l(o+" "+s+" "+a),h=l(i+" "+o+" "+a),p=n(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),f=n(/\((?:[^()]|<<self>>)*\)/.source,2),m=/@?\b[A-Za-z_]\w*\b/.source,g=e(/<<0>>(?:\s*<<1>>)?/.source,[m,p]),v=e(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,g]),b=/\[\s*(?:,\s*)*\]/.source,y=e(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[v,b]),w=e(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,f,b]),x=e(/\(<<0>>+(?:,<<0>>+)+\)/.source,[w]),k=e(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[x,v,b]),$={keyword:u,punctuation:/[<>()?,.:[\]]/},S=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,_=/"(?:\\.|[^\\"\r\n])*"/.source,A=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;t.languages.csharp=t.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[A]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[_]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[v]),lookbehind:!0,inside:$},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[m,k]),lookbehind:!0,inside:$},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[m]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[c,g]),lookbehind:!0,inside:$},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[v]),lookbehind:!0,inside:$},{pattern:r(/(\bwhere\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:$},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[k,h,m]),inside:$}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),t.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),t.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),t.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[f]),lookbehind:!0,alias:"class-name",inside:$},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[k,v]),inside:$,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[k]),lookbehind:!0,inside:$,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[m,p]),inside:{function:r(/^<<0>>/.source,[m]),generic:{pattern:RegExp(p),alias:"class-name",inside:$}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[c,g,m,k,u.source,f,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[g,f]),lookbehind:!0,greedy:!0,inside:t.languages.csharp},keyword:u,"class-name":{pattern:RegExp(k),greedy:!0,inside:$},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var M=_+"|"+S,C=e(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[M]),E=n(e(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[C]),2),P=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,T=e(/<<0>>(?:\s*\(<<1>>*\))?/.source,[v,E]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[P,T]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[P]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[E]),inside:t.languages.csharp},"class-name":{pattern:RegExp(v),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var j=/:[^}\r\n]+/.source,F=n(e(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[C]),2),z=e(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[F,j]),O=n(e(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[M]),2),R=e(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[O,j]);function N(e,n){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[e]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[n,j]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:t.languages.csharp}}},string:/[\s\S]+/}}t.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[z]),lookbehind:!0,greedy:!0,inside:N(z,F)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[R]),lookbehind:!0,greedy:!0,inside:N(R,O)}],char:{pattern:RegExp(S),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp}(Prism)},7252:function(){!function(t){var e=/(?:\r?\n|\r)[ \t]*\|.+\|(?:(?!\|).)*/.source;t.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+e+")(?:"+e+")+"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(e),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}}(Prism)},3701:function(){!function(t){var e=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,n={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[n,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:n.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:n.inside}],keyword:e,function:[t.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":n,keyword:e,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:n.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:n.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return e.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},4883:function(){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript},3502:function(){!function(t){function e(t,e){return"___"+t.toUpperCase()+e+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,n,i,o){if(r.language===n){var s=r.tokenStack=[];r.code=r.code.replace(i,(function(t){if("function"==typeof o&&!o(t))return t;for(var i,a=s.length;-1!==r.code.indexOf(i=e(n,a));)++a;return s[a]=t,i})),r.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(r,n){if(r.language===n&&r.tokenStack){r.grammar=t.languages[n];var i=0,o=Object.keys(r.tokenStack);!function s(a){for(var l=0;l<a.length&&!(i>=o.length);l++){var c=a[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[i],d=r.tokenStack[u],h="string"==typeof c?c:c.content,p=e(n,u),f=h.indexOf(p);if(f>-1){++i;var m=h.substring(0,f),g=new t.Token(n,t.tokenize(d,r.grammar),"language-"+n,d),v=h.substring(f+p.length),b=[];m&&b.push.apply(b,s([m])),b.push(g),v&&b.push.apply(b,s([v])),"string"==typeof c?a.splice.apply(a,[l,1].concat(b)):c.content=b}}else c.content&&s(c.content)}return a}(r.tokens)}}}})}(Prism)},5744:function(){Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,e){var r={};r["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var i={};i[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(t,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},4999:function(){!function(t){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,r=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],n=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:e,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:n,operator:i,punctuation:o};var s={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:t.languages.php},a=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:a,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:e,string:a,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,number:n,operator:i,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",(function(e){/<\?/.test(e.code)&&t.languages["markup-templating"].buildPlaceholders(e,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),t.hooks.add("after-tokenize",(function(e){t.languages["markup-templating"].tokenizePlaceholders(e,"php")}))}(Prism)},458:function(){Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant},3083:function(){!function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),t.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var e=t.languages.extend("typescript",{});delete e["class-name"],t.languages.typescript["class-name"].inside=e,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e}}}}),t.languages.ts=t.languages.typescript}(Prism)},4882:function(){"undefined"!=typeof Prism&&"undefined"!=typeof document&&document.createRange&&(Prism.plugins.KeepMarkup=!0,Prism.hooks.add("before-highlight",(function(t){if(t.element.children.length&&Prism.util.isActive(t.element,"keep-markup",!0)){var e=Prism.util.isActive(t.element,"drop-tokens",!1),r=0,n=[];o(t.element),n.length&&(t.keepMarkup=n)}function i(t){if(function(t){return!e||"span"!==t.nodeName.toLowerCase()||!t.classList.contains("token")}(t)){var i={element:t,posOpen:r};n.push(i),o(t),i.posClose=r}else o(t)}function o(t){for(var e=0,n=t.childNodes.length;e<n;e++){var o=t.childNodes[e];1===o.nodeType?i(o):3===o.nodeType&&(r+=o.data.length)}}})),Prism.hooks.add("after-highlight",(function(t){if(t.keepMarkup&&t.keepMarkup.length){var e=function(t,r){for(var n=0,i=t.childNodes.length;n<i;n++){var o=t.childNodes[n];if(1===o.nodeType){if(!e(o,r))return!1}else 3===o.nodeType&&(!r.nodeStart&&r.pos+o.data.length>r.node.posOpen&&(r.nodeStart=o,r.nodeStartPos=r.node.posOpen-r.pos),r.nodeStart&&r.pos+o.data.length>=r.node.posClose&&(r.nodeEnd=o,r.nodeEndPos=r.node.posClose-r.pos),r.pos+=o.data.length);if(r.nodeStart&&r.nodeEnd){var s=document.createRange();return s.setStart(r.nodeStart,r.nodeStartPos),s.setEnd(r.nodeEnd,r.nodeEndPos),r.node.element.innerHTML="",r.node.element.appendChild(s.extractContents()),s.insertNode(r.node.element),s.detach(),!1}}return!0};t.keepMarkup.forEach((function(r){e(t.element,{node:r,pos:0})})),t.highlightedCode=t.element.innerHTML}})))},5622:function(){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var t="line-numbers",e=/\n(?!$)/g,r=Prism.plugins.lineNumbers={getLine:function(e,r){if("PRE"===e.tagName&&e.classList.contains(t)){var n=e.querySelector(".line-numbers-rows");if(n){var i=parseInt(e.getAttribute("data-start"),10)||1,o=i+(n.children.length-1);r<i&&(r=i),r>o&&(r=o);var s=r-i;return n.children[s]}}},resize:function(t){i([t])},assumeViewportIndependence:!0},n=void 0;window.addEventListener("resize",(function(){r.assumeViewportIndependence&&n===window.innerWidth||(n=window.innerWidth,i(Array.prototype.slice.call(document.querySelectorAll("pre."+t))))})),Prism.hooks.add("complete",(function(r){if(r.code){var n=r.element,o=n.parentNode;if(o&&/pre/i.test(o.nodeName)&&!n.querySelector(".line-numbers-rows")&&Prism.util.isActive(n,t)){n.classList.remove(t),o.classList.add(t);var s,a=r.code.match(e),l=a?a.length+1:1,c=new Array(l+1).join("<span></span>");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=c,o.hasAttribute("data-start")&&(o.style.counterReset="linenumber "+(parseInt(o.getAttribute("data-start"),10)-1)),r.element.appendChild(s),i([o]),Prism.hooks.run("line-numbers",r)}}})),Prism.hooks.add("line-numbers",(function(t){t.plugins=t.plugins||{},t.plugins.lineNumbers=!0}))}function i(t){if(0!=(t=t.filter((function(t){var e,r=(e=t,e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null)["white-space"];return"pre-wrap"===r||"pre-line"===r}))).length){var r=t.map((function(t){var r=t.querySelector("code"),n=t.querySelector(".line-numbers-rows");if(r&&n){var i=t.querySelector(".line-numbers-sizer"),o=r.textContent.split(e);i||((i=document.createElement("span")).className="line-numbers-sizer",r.appendChild(i)),i.innerHTML="0",i.style.display="block";var s=i.getBoundingClientRect().height;return i.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:s,sizer:i}}})).filter(Boolean);r.forEach((function(t){var e=t.sizer,r=t.lines,n=t.lineHeights,i=t.oneLinerHeight;n[r.length-1]=void 0,r.forEach((function(t,r){if(t&&t.length>1){var o=e.appendChild(document.createElement("span"));o.style.display="block",o.textContent=t}else n[r]=i}))})),r.forEach((function(t){for(var e=t.sizer,r=t.lineHeights,n=0,i=0;i<r.length;i++)void 0===r[i]&&(r[i]=e.children[n++].getBoundingClientRect().height)})),r.forEach((function(t){var e=t.sizer,r=t.element.querySelector(".line-numbers-rows");e.style.display="none",e.innerHTML="",t.lineHeights.forEach((function(t,e){r.children[e].style.height=t+"px"}))}))}}}()},7951:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.aggregateResultsByModule=void 0;const n=r(5740);function i(t,e){if(e){const r=o.bind(void 0,t);return e.map(r)}}function o(t,e){return`${t}_${e}`}e.aggregateResultsByModule=function(t){const e=Object.values(t).map((t=>t.projectRoot)).filter(n.isNotNullish),r={files:{},schemaVersion:"1.7",thresholds:t[0]?.thresholds??{high:80,low:60},projectRoot:e.length?(0,n.determineCommonBasePath)(e):void 0,config:{}};return Object.entries(t).reduce(((t,[e,s])=>{if(Object.entries((0,n.normalizeFileNames)(s.files)).forEach((([t,n])=>{r.files[`${e}/${t}`]={...n,mutants:[...n.mutants.map((({id:t,coveredBy:r,killedBy:n,...s})=>({...s,id:o(e,t),killedBy:i(e,n),coveredBy:i(e,r)})))]}})),s.testFiles){const t=r.testFiles??(r.testFiles=Object.create(null));Object.entries((0,n.normalizeFileNames)(s.testFiles)).forEach((([r,n])=>{t[`${e}/${r}`]={...n,tests:n.tests.map((({id:t,...r})=>({...r,id:o(e,t)})))}}))}return t}),r)}},2103:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.countFileMetrics=e.countTestFileMetrics=e.calculateFileMetrics=e.calculateMutationTestMetrics=e.calculateMetrics=void 0;const n=r(5740),i=r(9130),o=r(5740),s=r(8533),a=r(8689),l="All files";function c(t,e,r){const n=Object.keys(e);return 1===n.length&&""===n[0]?d(t,e[n[0]],r):u(t,e,r)}function u(t,e,r){const i=r(Object.values(e)),a=function(t,e){const r=(0,o.groupBy)(Object.entries(t),(t=>t[0].split("/")[0]));return Object.keys(r).map((t=>{if(r[t].length>1||r[t][0][0]!==t){const n={};return r[t].forEach((e=>n[e[0].substr(t.length+1)]=e[1])),u(t,n,e)}{const[n,i]=r[t][0];return d(n,i,e)}})).sort(n.compareNames)}(e,r);return new s.MetricsResult(t,a,i)}function d(t,e,r){return new s.MetricsResult(t,[],r([e]),e)}function h(t){const e=t.flatMap((t=>t.tests)),r=t=>e.filter((e=>e.status===t)).length;return{total:e.length,killing:r(a.TestStatus.Killing),covering:r(a.TestStatus.Covering),notCovering:r(a.TestStatus.NotCovering)}}function p(t){const e=t.flatMap((t=>t.mutants)),r=t=>e.filter((e=>e.status===t)).length,n=r(i.MutantStatus.Pending),o=r(i.MutantStatus.Killed),s=r(i.MutantStatus.Timeout),a=r(i.MutantStatus.Survived),l=r(i.MutantStatus.NoCoverage),c=r(i.MutantStatus.RuntimeError),u=r(i.MutantStatus.CompileError),d=r(i.MutantStatus.Ignored),h=s+o,p=a+l,f=h+a,m=p+h,g=c+u;return{pending:n,killed:o,timeout:s,survived:a,noCoverage:l,runtimeErrors:c,compileErrors:u,ignored:d,totalDetected:h,totalUndetected:p,totalCovered:f,totalValid:m,totalInvalid:g,mutationScore:m>0?h/m*100:NaN,totalMutants:m+g+d+n,mutationScoreBasedOnCoveredCode:m>0?h/f*100||0:NaN}}e.calculateMetrics=function(t){const e=(0,n.normalize)(t,"",((t,e)=>new s.FileUnderTestModel(t,e)));return u(l,e,p)},e.calculateMutationTestMetrics=function(t){const{files:e,testFiles:r,projectRoot:i=""}=t,o=(0,n.normalize)(e,i,((t,e)=>new s.FileUnderTestModel(t,e)));if(r&&Object.keys(r).length){const t=(0,n.normalize)(r,i,((t,e)=>new s.TestFileModel(t,e)));return function(t,e){const r=new Map(e.map((t=>[t.id,t])));for(const e of t){const t=e.coveredBy?.map((t=>r.get(t)))??[];for(const r of t)r&&(e.addCoveredBy(r),r.addCovered(e));const n=e.killedBy?.map((t=>r.get(t)))??[];for(const t of n)t&&(e.addKilledBy(t),t.addKilled(e))}}(Object.values(o).flatMap((t=>t.mutants)),Object.values(t).flatMap((t=>t.tests))),{systemUnderTestMetrics:c(l,o,p),testMetrics:c("All tests",t,h)}}return{systemUnderTestMetrics:c(l,o,p),testMetrics:void 0}},e.calculateFileMetrics=d,e.countTestFileMetrics=h,e.countFileMetrics=p},400:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compareNames=e.determineCommonBasePath=e.normalize=e.normalizeFileNames=void 0;const r="/";function n(t,e,r){const n=Object.keys(t),s=o(n),a=Object.create(null);return n.forEach((n=>{const o=i(n.startsWith(e)?n.substr(e.length):n);a[i(n.substr(s.length))]=r(t[n],o)})),a}function i(t){return t.split(/\/|\\/).filter(Boolean).join("/")}function o(t){const e=t.map((t=>t.split(/\/|\\/).slice(0,-1)));return t.length?e.reduce((function(t,e){for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t.splice(0,r);return t})).join(r):""}e.normalizeFileNames=function(t,e=""){return n(t,e,(t=>t))},e.normalize=n,e.determineCommonBasePath=o,e.compareNames=function(t,e){const r=t=>t.file?`1${t.name}`:`0${t.name}`;return r(t).localeCompare(r(e))}},7648:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.groupBy=void 0,e.groupBy=function(t,e){return t.reduce(((t,r)=>{const n=e(r);return Object.prototype.hasOwnProperty.call(t,n)||(t[n]=[]),t[n].push(r),t}),{})}},5740:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),i=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),i(r(7648),e),i(r(400),e),i(r(9676),e),i(r(3029),e)},3029:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isNotNullish=void 0,e.isNotNullish=function(t){return null!=t}},9676:function(t,e){"use strict";function r(t){return 10===t||13===t||8232===t||8233===t}Object.defineProperty(e,"__esModule",{value:!0}),e.computeLineStarts=void 0,e.computeLineStarts=function(t){const e=[];let n=0,i=0;function o(t){e.push(i),i=t}for(o(0);n<t.length;){const e=t.charCodeAt(n);switch(n++,e){case 13:10===t.charCodeAt(n)&&n++,o(n);break;case 10:o(n);break;default:e>127&&r(e)&&o(n)}}return e.push(i),e}},4193:function(t,e,r){"use strict";e.ih=e.xR=void 0;var n=r(2103);Object.defineProperty(e,"xR",{enumerable:!0,get:function(){return n.calculateMutationTestMetrics}});r(7951),r(5740);var i=r(8533);Object.defineProperty(e,"ih",{enumerable:!0,get:function(){return i.TestStatus}})},1211:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FileUnderTestModel=void 0;const n=r(1223),i=r(7966);class o extends i.SourceFile{constructor(t,e){super(),this.name=e,this.language=t.language,this.source=t.source,this.mutants=t.mutants.map((t=>{const e=new n.MutantModel(t);return e.sourceFile=this,e}))}getMutationLines(t){const e=this.getLineMap(),r=e[t.location.start.line],n=e[t.location.end.line],i=e[t.location.end.line+1];return`${this.source.substr(r,t.location.start.column-1)}${t.replacement??t.description??t.mutatorName}${this.source.substring(n+t.location.end.column-1,i)}`}}e.FileUnderTestModel=o},8533:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TestStatus=e.TestModel=e.TestFileModel=e.MutantModel=e.MetricsResult=e.FileUnderTestModel=void 0;var n=r(1211);Object.defineProperty(e,"FileUnderTestModel",{enumerable:!0,get:function(){return n.FileUnderTestModel}});var i=r(9522);Object.defineProperty(e,"MetricsResult",{enumerable:!0,get:function(){return i.MetricsResult}});var o=r(1223);Object.defineProperty(e,"MutantModel",{enumerable:!0,get:function(){return o.MutantModel}});var s=r(7100);Object.defineProperty(e,"TestFileModel",{enumerable:!0,get:function(){return s.TestFileModel}});var a=r(8689);Object.defineProperty(e,"TestModel",{enumerable:!0,get:function(){return a.TestModel}}),Object.defineProperty(e,"TestStatus",{enumerable:!0,get:function(){return a.TestStatus}})},9522:function(t,e,r){"use strict";var n,i,o=this&&this.__classPrivateFieldGet||function(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};Object.defineProperty(e,"__esModule",{value:!0}),e.MetricsResult=void 0;const s=r(2103);e.MetricsResult=class{constructor(t,e,r,i){n.add(this),this.name=t,this.childResults=e,this.metrics=r,this.file=i}updateParent(t){this.parent=t,this.childResults.forEach((t=>t.updateParent(this)))}updateAllMetrics(){void 0===this.parent?this.updateMetrics():this.parent.updateAllMetrics()}updateMetrics(){if(void 0!==this.file)this.file.tests?this.metrics=(0,s.countTestFileMetrics)([this.file]):this.metrics=(0,s.countFileMetrics)([this.file]);else{this.childResults.forEach((t=>{t.updateMetrics()}));const t=o(this,n,"m",i).call(this,this.childResults);if(0===t.length)return;t[0].tests?this.metrics=(0,s.countTestFileMetrics)(t):this.metrics=(0,s.countFileMetrics)(t)}}},n=new WeakSet,i=function t(e){const r=[];return 0===e.length||e.forEach((e=>{e.file?r.push(e.file):r.push(...o(this,n,"m",t).call(this,e.childResults))})),r}},1223:function(t,e){"use strict";var r,n,i=this&&this.__classPrivateFieldGet||function(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};function o(t){if(void 0===t)throw new Error("mutant.sourceFile was not defined")}Object.defineProperty(e,"__esModule",{value:!0}),e.MutantModel=void 0,e.MutantModel=class{constructor(t){r.set(this,new Map),n.set(this,new Map),this.coveredBy=t.coveredBy,this.description=t.description,this.duration=t.duration,this.id=t.id,this.killedBy=t.killedBy,this.location=t.location,this.mutatorName=t.mutatorName,this.replacement=t.replacement,this.static=t.static,this.status=t.status,this.statusReason=t.statusReason,this.testsCompleted=t.testsCompleted}addCoveredBy(t){this.coveredByTests||(this.coveredByTests=[]),i(this,r,"f").has(t.id)||(i(this,r,"f").set(t.id,t),this.coveredByTests?.push(t))}addKilledBy(t){this.killedByTests||(this.killedByTests=[]),i(this,n,"f").has(t.id)||(i(this,n,"f").set(t.id,t),this.killedByTests?.push(t))}getMutatedLines(){return o(this.sourceFile),this.sourceFile.getMutationLines(this)}getOriginalLines(){return o(this.sourceFile),this.sourceFile.getLines(this.location)}get fileName(){return o(this.sourceFile),this.sourceFile.name}update(){this.sourceFile?.result?.file&&this.sourceFile.result.updateAllMetrics()}},r=new WeakMap,n=new WeakMap},7966:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SourceFile=e.assertSourceDefined=void 0;const n=r(5740);function i(t){if(void 0===t)throw new Error("sourceFile.source is undefined")}e.assertSourceDefined=i,e.SourceFile=class{getLineMap(){return i(this.source),this.lineMap??(this.lineMap=(0,n.computeLineStarts)(this.source))}getLines(t){i(this.source);const e=this.getLineMap();return this.source.substring(e[t.start.line],e[(t.end??t.start).line+1])}}},7100:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TestFileModel=void 0;const n=r(7966),i=r(8689);class o extends n.SourceFile{constructor(t,e){super(),this.name=e,this.source=t.source,this.tests=t.tests.map((t=>{const e=new i.TestModel(t);return e.sourceFile=this,e}))}}e.TestFileModel=o},8689:function(t,e){"use strict";var r,n,i,o=this&&this.__classPrivateFieldGet||function(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};function s(t){if(void 0===t)throw new Error("test.sourceFile was not defined")}Object.defineProperty(e,"__esModule",{value:!0}),e.TestModel=e.TestStatus=void 0,function(t){t.Killing="Killing",t.Covering="Covering",t.NotCovering="NotCovering"}(i||(e.TestStatus=i={})),e.TestModel=class{addCovered(t){this.coveredMutants||(this.coveredMutants=[]),o(this,n,"f").has(t.id)||(o(this,n,"f").set(t.id,t),this.coveredMutants.push(t))}addKilled(t){this.killedMutants||(this.killedMutants=[]),o(this,r,"f").has(t.id)||(o(this,r,"f").set(t.id,t),this.killedMutants.push(t))}constructor(t){r.set(this,new Map),n.set(this,new Map),Object.entries(t).forEach((([t,e])=>{this[t]=e}))}getLines(){return s(this.sourceFile),function(t){if(void 0===t)throw new Error("test.location was not defined")}(this.location),this.sourceFile.getLines(this.location)}get fileName(){return s(this.sourceFile),this.sourceFile.name}get status(){return this.killedMutants?.length?i.Killing:this.coveredMutants?.length?i.Covering:i.NotCovering}update(){this.sourceFile?.result?.file&&this.sourceFile.result.updateAllMetrics()}},r=new WeakMap,n=new WeakMap},9130:function(t,e){"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),e.MutantStatus=void 0,function(t){t.Killed="Killed",t.Survived="Survived",t.NoCoverage="NoCoverage",t.CompileError="CompileError",t.RuntimeError="RuntimeError",t.Timeout="Timeout",t.Ignored="Ignored",t.Pending="Pending"}(r||(e.MutantStatus=r={}))},9138:function(t){"use strict";t.exports="data:image/svg+xml;charset=UTF8,<svg xmlns=%27http://www.w3.org/2000/svg%27 height=%273%27 width=%276%27><g fill=%27%23ef4444%27><path d=%27m5.5 0-3 3H1.1l3-3z%27/><path d=%27m4 0 2 2V.6L5.4 0zM0 2l1 1h1.4L0 .6z%27/></g></svg>"},3783:function(t){"use strict";t.exports="data:image/svg+xml;charset=UTF8,<svg xmlns=%27http://www.w3.org/2000/svg%27 height=%273%27 width=%276%27><g fill=%27%23fb923c%27><path d=%27m5.5 0-3 3H1.1l3-3z%27/><path d=%27m4 0 2 2V.6L5.4 0zM0 2l1 1h1.4L0 .6z%27/></g></svg>"},4995:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 16 16%27%3E%3Ccircle cx=%278%27 cy=%278%27 r=%273%27/%3E%3C/svg%3E"},1716:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z%27/%3E%3C/svg%3E"},421:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 16 16%27%3E%3Cpath stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M4 8h8%27/%3E%3C/svg%3E"},6526:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3E%3Cpath stroke=%27rgb%28var%28--mut-gray-500, 113 113 122%29 / var%28--tw-stroke-opacity, 1%29%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27m6 8 4 4 4-4%27/%3E%3C/svg%3E"}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={id:n,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}r.m=t,r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.b=document.baseURI||self.location.href,function(){"use strict";const t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n=Symbol(),i=new WeakMap;class o{constructor(t,e,r){if(this._$cssResult$=!0,r!==n)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const r=this.t;if(e&&void 0===t){const e=void 0!==r&&1===r.length;e&&(t=i.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&i.set(r,t))}return t}toString(){return this.cssText}}const s=t=>new o("string"==typeof t?t:t+"",void 0,n),a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return s(e)})(t):t;var l;const c=window,u=c.trustedTypes,d=u?u.emptyScript:"",h=c.reactiveElementPolyfillSupport,p={toAttribute(t,e){switch(e){case Boolean:t=t?d:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},f=(t,e)=>e!==t&&(e==e||t==t),m={attribute:!0,type:String,converter:p,reflect:!1,hasChanged:f};class g extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,r)=>{const n=this._$Ep(r,e);void 0!==n&&(this._$Ev.set(n,r),t.push(n))})),t}static createProperty(t,e=m){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const r="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,r,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,r){return{get(){return this[e]},set(n){const i=this[t];this[e]=n,this.requestUpdate(t,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||m}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const r of e)this.createProperty(r,t[r])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Ep(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,r;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(r=t.hostConnected)||void 0===r||r.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var r;const n=null!==(r=this.shadowRoot)&&void 0!==r?r:this.attachShadow(this.constructor.shadowRootOptions);return((r,n)=>{e?r.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement("style"),i=t.litNonce;void 0!==i&&n.setAttribute("nonce",i),n.textContent=e.cssText,r.appendChild(n)}))})(n,this.constructor.elementStyles),n}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EO(t,e,r=m){var n;const i=this.constructor._$Ep(t,r);if(void 0!==i&&!0===r.reflect){const o=(void 0!==(null===(n=r.converter)||void 0===n?void 0:n.toAttribute)?r.converter:p).toAttribute(e,r.type);this._$El=t,null==o?this.removeAttribute(i):this.setAttribute(i,o),this._$El=null}}_$AK(t,e){var r;const n=this.constructor,i=n._$Ev.get(t);if(void 0!==i&&this._$El!==i){const t=n.getPropertyOptions(i),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(r=t.converter)||void 0===r?void 0:r.fromAttribute)?t.converter:p;this._$El=i,this[i]=o.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,r){let n=!0;void 0!==t&&(((r=r||this.constructor.getPropertyOptions(t)).hasChanged||f)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,r))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(r)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(r)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}var v;g.finalized=!0,g.elementProperties=new Map,g.elementStyles=[],g.shadowRootOptions={mode:"open"},null==h||h({ReactiveElement:g}),(null!==(l=c.reactiveElementVersions)&&void 0!==l?l:c.reactiveElementVersions=[]).push("1.6.1");const b=window,y=b.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,x="$lit$",k=`lit$${(Math.random()+"").slice(9)}$`,$="?"+k,S=`<${$}>`,_=document,A=()=>_.createComment(""),M=t=>null===t||"object"!=typeof t&&"function"!=typeof t,C=Array.isArray,E=t=>C(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),P="[ \t\n\f\r]",T=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,j=/-->/g,F=/>/g,z=RegExp(`>|${P}(?:([^\\s"'>=/]+)(${P}*=${P}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),O=/'/g,R=/"/g,N=/^(?:script|style|textarea|title)$/i,B=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),L=B(1),D=B(2),I=Symbol.for("lit-noChange"),U=Symbol.for("lit-nothing"),H=new WeakMap,Z=_.createTreeWalker(_,129,null,!1),K=(t,e)=>{const r=t.length-1,n=[];let i,o=2===e?"<svg>":"",s=T;for(let e=0;e<r;e++){const r=t[e];let a,l,c=-1,u=0;for(;u<r.length&&(s.lastIndex=u,l=s.exec(r),null!==l);)u=s.lastIndex,s===T?"!--"===l[1]?s=j:void 0!==l[1]?s=F:void 0!==l[2]?(N.test(l[2])&&(i=RegExp("</"+l[2],"g")),s=z):void 0!==l[3]&&(s=z):s===z?">"===l[0]?(s=null!=i?i:T,c=-1):void 0===l[1]?c=-2:(c=s.lastIndex-l[2].length,a=l[1],s=void 0===l[3]?z:'"'===l[3]?R:O):s===R||s===O?s=z:s===j||s===F?s=T:(s=z,i=void 0);const d=s===z&&t[e+1].startsWith("/>")?" ":"";o+=s===T?r+S:c>=0?(n.push(a),r.slice(0,c)+x+r.slice(c)+k+d):r+k+(-2===c?(n.push(void 0),e):d)}const a=o+(t[r]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==w?w.createHTML(a):a,n]};class q{constructor({strings:t,_$litType$:e},r){let n;this.parts=[];let i=0,o=0;const s=t.length-1,a=this.parts,[l,c]=K(t,e);if(this.el=q.createElement(l,r),Z.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=Z.nextNode())&&a.length<s;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith(x)||e.startsWith(k)){const r=c[o++];if(t.push(e),void 0!==r){const t=n.getAttribute(r.toLowerCase()+x).split(k),e=/([.?@])?(.*)/.exec(r);a.push({type:1,index:i,name:e[2],strings:t,ctor:"."===e[1]?J:"?"===e[1]?X:"@"===e[1]?tt:Y})}else a.push({type:6,index:i})}for(const e of t)n.removeAttribute(e)}if(N.test(n.tagName)){const t=n.textContent.split(k),e=t.length-1;if(e>0){n.textContent=y?y.emptyScript:"";for(let r=0;r<e;r++)n.append(t[r],A()),Z.nextNode(),a.push({type:2,index:++i});n.append(t[e],A())}}}else if(8===n.nodeType)if(n.data===$)a.push({type:2,index:i});else{let t=-1;for(;-1!==(t=n.data.indexOf(k,t+1));)a.push({type:7,index:i}),t+=k.length-1}i++}}static createElement(t,e){const r=_.createElement("template");return r.innerHTML=t,r}}function V(t,e,r=t,n){var i,o,s,a;if(e===I)return e;let l=void 0!==n?null===(i=r._$Co)||void 0===i?void 0:i[n]:r._$Cl;const c=M(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==c&&(null===(o=null==l?void 0:l._$AO)||void 0===o||o.call(l,!1),void 0===c?l=void 0:(l=new c(t),l._$AT(t,r,n)),void 0!==n?(null!==(s=(a=r)._$Co)&&void 0!==s?s:a._$Co=[])[n]=l:r._$Cl=l),void 0!==l&&(e=V(t,l._$AS(t,e.values),l,n)),e}class W{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:r},parts:n}=this._$AD,i=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:_).importNode(r,!0);Z.currentNode=i;let o=Z.nextNode(),s=0,a=0,l=n[0];for(;void 0!==l;){if(s===l.index){let e;2===l.type?e=new G(o,o.nextSibling,this,t):1===l.type?e=new l.ctor(o,l.name,l.strings,this,t):6===l.type&&(e=new et(o,this,t)),this._$AV.push(e),l=n[++a]}s!==(null==l?void 0:l.index)&&(o=Z.nextNode(),s++)}return Z.currentNode=_,i}v(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class G{constructor(t,e,r,n){var i;this.type=2,this._$AH=U,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=n,this._$Cp=null===(i=null==n?void 0:n.isConnected)||void 0===i||i}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=V(this,t,e),M(t)?t===U||null==t||""===t?(this._$AH!==U&&this._$AR(),this._$AH=U):t!==this._$AH&&t!==I&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):E(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==U&&M(this._$AH)?this._$AA.nextSibling.data=t:this.$(_.createTextNode(t)),this._$AH=t}g(t){var e;const{values:r,_$litType$:n}=t,i="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=q.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.v(r);else{const t=new W(i,this),e=t.u(this.options);t.v(r),this.$(e),this._$AH=t}}_$AC(t){let e=H.get(t.strings);return void 0===e&&H.set(t.strings,e=new q(t)),e}T(t){C(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,n=0;for(const i of t)n===e.length?e.push(r=new G(this.k(A()),this.k(A()),this,this.options)):r=e[n],r._$AI(i),n++;n<e.length&&(this._$AR(r&&r._$AB.nextSibling,n),e.length=n)}_$AR(t=this._$AA.nextSibling,e){var r;for(null===(r=this._$AP)||void 0===r||r.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class Y{constructor(t,e,r,n,i){this.type=1,this._$AH=U,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=U}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,r,n){const i=this.strings;let o=!1;if(void 0===i)t=V(this,t,e,0),o=!M(t)||t!==this._$AH&&t!==I,o&&(this._$AH=t);else{const n=t;let s,a;for(t=i[0],s=0;s<i.length-1;s++)a=V(this,n[r+s],e,s),a===I&&(a=this._$AH[s]),o||(o=!M(a)||a!==this._$AH[s]),a===U?t=U:t!==U&&(t+=(null!=a?a:"")+i[s+1]),this._$AH[s]=a}o&&!n&&this.j(t)}j(t){t===U?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class J extends Y{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===U?void 0:t}}const Q=y?y.emptyScript:"";class X extends Y{constructor(){super(...arguments),this.type=4}j(t){t&&t!==U?this.element.setAttribute(this.name,Q):this.element.removeAttribute(this.name)}}class tt extends Y{constructor(t,e,r,n,i){super(t,e,r,n,i),this.type=5}_$AI(t,e=this){var r;if((t=null!==(r=V(this,t,e,0))&&void 0!==r?r:U)===I)return;const n=this._$AH,i=t===U&&n!==U||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==U&&(n===U||i);i&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,r;"function"==typeof this._$AH?this._$AH.call(null!==(r=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==r?r:this.element,t):this._$AH.handleEvent(t)}}class et{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t)}}const rt={O:x,P:k,A:$,C:1,M:K,L:W,D:E,R:V,I:G,V:Y,H:X,N:tt,U:J,F:et},nt=b.litHtmlPolyfillSupport;var it,ot;null==nt||nt(q,G),(null!==(v=b.litHtmlVersions)&&void 0!==v?v:b.litHtmlVersions=[]).push("2.7.4");class st extends g{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const r=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=r.firstChild),r}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,r)=>{var n,i;const o=null!==(n=null==r?void 0:r.renderBefore)&&void 0!==n?n:e;let s=o._$litPart$;if(void 0===s){const t=null!==(i=null==r?void 0:r.renderBefore)&&void 0!==i?i:null;o._$litPart$=s=new G(e.insertBefore(A(),t),t,void 0,null!=r?r:{})}return s._$AI(t),s})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return I}}st.finalized=!0,st._$litElement$=!0,null===(it=globalThis.litElementHydrateSupport)||void 0===it||it.call(globalThis,{LitElement:st});const at=globalThis.litElementPolyfillSupport;null==at||at({LitElement:st}),(null!==(ot=globalThis.litElementVersions)&&void 0!==ot?ot:globalThis.litElementVersions=[]).push("3.3.2");const lt=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:r,elements:n}=e;return{kind:r,elements:n,finisher(e){customElements.define(t,e)}}})(t,e),ct=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(r){r.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(r){r.createProperty(e.key,t)}};function ut(t){return(e,r)=>void 0!==r?((t,e,r)=>{e.constructor.createProperty(r,t)})(t,e,r):ct(t,e)}function dt(t){return ut({...t,state:!0})}var ht;null===(ht=window.HTMLSlotElement)||void 0===ht||ht.prototype.assignedElements;var pt=r(4193),ft=r(7063),mt=r(6773),gt=r(5043),vt=r(3712);r(5622),r(8267),r(4883),r(3083),r(8423),r(3701),r(458),r(7252),r(5744),r(3502),r(4999),r(4882);const bt=s(ft.Z),yt=s(mt.Z),wt=s(gt.Z);function xt(t){return"function"==typeof t}function kt(t){return function(e){if(function(t){return xt(null==t?void 0:t.lift)}(e))return e.lift((function(e){try{return t(e,this)}catch(t){this.error(t)}}));throw new TypeError("Unable to lift unknown Observable type")}}var $t=function(t,e){return $t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},$t(t,e)};function St(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}$t(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function _t(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(s=0)),s;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(6===a[0]&&s.label<i[1]){s.label=i[1],i=a;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(a);break}i[2]&&s.ops.pop(),s.trys.pop();continue}a=e.call(t,s)}catch(t){a=[6,t],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function At(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Mt(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return s}function Ct(t,e,r){if(r||2===arguments.length)for(var n,i=0,o=e.length;i<o;i++)!n&&i in e||(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return t.concat(n||Array.prototype.slice.call(e))}function Et(t){return this instanceof Et?(this.v=t,this):new Et(t)}function Pt(t){var e=t((function(t){Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}Object.create,Object.create;var Tt=Pt((function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(t,e){return e+1+") "+t.toString()})).join("\n  "):"",this.name="UnsubscriptionError",this.errors=e}}));function jt(t,e){if(t){var r=t.indexOf(e);0<=r&&t.splice(r,1)}}var Ft=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var t,e,r,n,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=At(o),a=s.next();!a.done;a=s.next())a.value.remove(this)}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}else o.remove(this);var l=this.initialTeardown;if(xt(l))try{l()}catch(t){i=t instanceof Tt?t.errors:[t]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var u=At(c),d=u.next();!d.done;d=u.next()){var h=d.value;try{Rt(h)}catch(t){i=null!=i?i:[],t instanceof Tt?i=Ct(Ct([],Mt(i)),Mt(t.errors)):i.push(t)}}}catch(t){r={error:t}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}}if(i)throw new Tt(i)}},t.prototype.add=function(e){var r;if(e&&e!==this)if(this.closed)Rt(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&jt(e,t)},t.prototype.remove=function(e){var r=this._finalizers;r&&jt(r,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t;var e}(),zt=Ft.EMPTY;function Ot(t){return t instanceof Ft||t&&"closed"in t&&xt(t.remove)&&xt(t.add)&&xt(t.unsubscribe)}function Rt(t){xt(t)?t():t.unsubscribe()}var Nt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Bt={setTimeout:function(t,e){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var i=Bt.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,Ct([t,e],Mt(r))):setTimeout.apply(void 0,Ct([t,e],Mt(r)))},clearTimeout:function(t){var e=Bt.delegate;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Lt(t){Bt.setTimeout((function(){var e=Nt.onUnhandledError;if(!e)throw t;e(t)}))}function Dt(){}var It=Ut("C",void 0,void 0);function Ut(t,e,r){return{kind:t,value:e,error:r}}var Ht=null;function Zt(t){if(Nt.useDeprecatedSynchronousErrorHandling){var e=!Ht;if(e&&(Ht={errorThrown:!1,error:null}),t(),e){var r=Ht,n=r.errorThrown,i=r.error;if(Ht=null,n)throw i}}else t()}var Kt=function(t){function e(e){var r=t.call(this)||this;return r.isStopped=!1,e?(r.destination=e,Ot(e)&&e.add(r)):r.destination=Qt,r}return St(e,t),e.create=function(t,e,r){return new Gt(t,e,r)},e.prototype.next=function(t){this.isStopped?Jt(function(t){return Ut("N",t,void 0)}(t),this):this._next(t)},e.prototype.error=function(t){this.isStopped?Jt(Ut("E",void 0,t),this):(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped?Jt(It,this):(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Ft),qt=Function.prototype.bind;function Vt(t,e){return qt.call(t,e)}var Wt=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var e=this.partialObserver;if(e.next)try{e.next(t)}catch(t){Yt(t)}},t.prototype.error=function(t){var e=this.partialObserver;if(e.error)try{e.error(t)}catch(t){Yt(t)}else Yt(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(t){Yt(t)}},t}(),Gt=function(t){function e(e,r,n){var i,o,s=t.call(this)||this;return xt(e)||!e?i={next:null!=e?e:void 0,error:null!=r?r:void 0,complete:null!=n?n:void 0}:s&&Nt.useDeprecatedNextContext?((o=Object.create(e)).unsubscribe=function(){return s.unsubscribe()},i={next:e.next&&Vt(e.next,o),error:e.error&&Vt(e.error,o),complete:e.complete&&Vt(e.complete,o)}):i=e,s.destination=new Wt(i),s}return St(e,t),e}(Kt);function Yt(t){var e;Nt.useDeprecatedSynchronousErrorHandling?(e=t,Nt.useDeprecatedSynchronousErrorHandling&&Ht&&(Ht.errorThrown=!0,Ht.error=e)):Lt(t)}function Jt(t,e){var r=Nt.onStoppedNotification;r&&Bt.setTimeout((function(){return r(t,e)}))}var Qt={closed:!0,next:Dt,error:function(t){throw t},complete:Dt};function Xt(t,e,r,n,i){return new te(t,e,r,n,i)}var te=function(t){function e(e,r,n,i,o,s){var a=t.call(this,e)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=r?function(t){try{r(t)}catch(t){e.error(t)}}:t.prototype._next,a._error=i?function(t){try{i(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,a._complete=n?function(){try{n()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,a}return St(e,t),e.prototype.unsubscribe=function(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}},e}(Kt);function ee(t,e){return kt((function(r,n){var i=0;r.subscribe(Xt(n,(function(r){n.next(t.call(e,r,i++))})))}))}var re=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};function ne(t){return xt(null==t?void 0:t.then)}var ie="function"==typeof Symbol&&Symbol.observable||"@@observable";function oe(t){return t}var se=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var r=new t;return r.source=this,r.operator=e,r},t.prototype.subscribe=function(t,e,r){var n,i=this,o=(n=t)&&n instanceof Kt||function(t){return t&&xt(t.next)&&xt(t.error)&&xt(t.complete)}(n)&&Ot(n)?t:new Gt(t,e,r);return Zt((function(){var t=i,e=t.operator,r=t.source;o.add(e?e.call(o,r):r?i._subscribe(o):i._trySubscribe(o))})),o},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var r=this;return new(e=ae(e))((function(e,n){var i=new Gt({next:function(e){try{t(e)}catch(t){n(t),i.unsubscribe()}},error:n,complete:e});r.subscribe(i)}))},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[ie]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return(0===(r=t).length?oe:1===r.length?r[0]:function(t){return r.reduce((function(t,e){return e(t)}),t)})(this);var r},t.prototype.toPromise=function(t){var e=this;return new(t=ae(t))((function(t,r){var n;e.subscribe((function(t){return n=t}),(function(t){return r(t)}),(function(){return t(n)}))}))},t.create=function(e){return new t(e)},t}();function ae(t){var e;return null!==(e=null!=t?t:Nt.Promise)&&void 0!==e?e:Promise}function le(t){return xt(t[ie])}function ce(t){return Symbol.asyncIterator&&xt(null==t?void 0:t[Symbol.asyncIterator])}function ue(t){return new TypeError("You provided "+(null!==t&&"object"==typeof t?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var de="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function he(t){return xt(null==t?void 0:t[de])}function pe(t){return function(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=r.apply(t,e||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(t){i[t]&&(n[t]=function(e){return new Promise((function(r,n){o.push([t,e,r,n])>1||a(t,e)}))})}function a(t,e){try{!function(t){t.value instanceof Et?Promise.resolve(t.value.v).then(l,c):u(o[0][2],t)}(i[t](e))}catch(t){u(o[0][3],t)}}function l(t){a("next",t)}function c(t){a("throw",t)}function u(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,(function(){var e,r,n;return _t(this,(function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Et(e.read())];case 3:return r=i.sent(),n=r.value,r.done?[4,Et(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Et(n)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}function fe(t){return xt(null==t?void 0:t.getReader)}function me(t){if(t instanceof se)return t;if(null!=t){if(le(t))return i=t,new se((function(t){var e=i[ie]();if(xt(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(re(t))return n=t,new se((function(t){for(var e=0;e<n.length&&!t.closed;e++)t.next(n[e]);t.complete()}));if(ne(t))return r=t,new se((function(t){r.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,Lt)}));if(ce(t))return ge(t);if(he(t))return e=t,new se((function(t){var r,n;try{for(var i=At(e),o=i.next();!o.done;o=i.next()){var s=o.value;if(t.next(s),t.closed)return}}catch(t){r={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}t.complete()}));if(fe(t))return ge(pe(t))}var e,r,n,i;throw ue(t)}function ge(t){return new se((function(e){(function(t,e){var r,n,i,o;return function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var s,a;return _t(this,(function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),r=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=At(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,i){!function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)}(n,i,(e=t[r](e)).done,e.value)}))}}}(t),l.label=1;case 1:return[4,r.next()];case 2:if((n=l.sent()).done)return[3,4];if(s=n.value,e.next(s),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=l.sent(),i={error:a},[3,11];case 6:return l.trys.push([6,,9,10]),n&&!n.done&&(o=r.return)?[4,o.call(r)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}}))}))})(t,e).catch((function(t){return e.error(t)}))}))}function ve(t,e,r,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var o=e.schedule((function(){r(),i?t.add(this.schedule(null,n)):this.unsubscribe()}),n);if(t.add(o),!i)return o}function be(t,e,r){return void 0===r&&(r=1/0),xt(e)?be((function(r,n){return ee((function(t,i){return e(r,t,n,i)}))(me(t(r,n)))}),r):("number"==typeof e&&(r=e),kt((function(e,n){return function(t,e,r,n,i,o,s,a){var l=[],c=0,u=0,d=!1,h=function(){!d||l.length||c||e.complete()},p=function(t){return c<n?f(t):l.push(t)},f=function(t){c++;var i=!1;me(r(t,u++)).subscribe(Xt(e,(function(t){e.next(t)}),(function(){i=!0}),void 0,(function(){if(i)try{c--;for(;l.length&&c<n;)t=void 0,t=l.shift(),f(t);h()}catch(t){e.error(t)}var t})))};return t.subscribe(Xt(e,p,(function(){d=!0,h()}))),function(){}}(e,n,t,r)})))}var ye=new se((function(t){return t.complete()}));function we(t){return t&&xt(t.schedule)}function xe(t){return t[t.length-1]}function ke(t){return we(xe(t))?t.pop():void 0}function $e(t,e){return void 0===e&&(e=0),kt((function(r,n){r.subscribe(Xt(n,(function(r){return ve(n,t,(function(){return n.next(r)}),e)}),(function(){return ve(n,t,(function(){return n.complete()}),e)}),(function(r){return ve(n,t,(function(){return n.error(r)}),e)})))}))}function Se(t,e){return void 0===e&&(e=0),kt((function(r,n){n.add(t.schedule((function(){return r.subscribe(n)}),e))}))}function _e(t,e){if(!t)throw new Error("Iterable cannot be null");return new se((function(r){ve(r,e,(function(){var n=t[Symbol.asyncIterator]();ve(r,e,(function(){n.next().then((function(t){t.done?r.complete():r.next(t.value)}))}),0,!0)}))}))}function Ae(t,e){return e?function(t,e){if(null!=t){if(le(t))return function(t,e){return me(t).pipe(Se(e),$e(e))}(t,e);if(re(t))return function(t,e){return new se((function(r){var n=0;return e.schedule((function(){n===t.length?r.complete():(r.next(t[n++]),r.closed||this.schedule())}))}))}(t,e);if(ne(t))return function(t,e){return me(t).pipe(Se(e),$e(e))}(t,e);if(ce(t))return _e(t,e);if(he(t))return function(t,e){return new se((function(r){var n;return ve(r,e,(function(){n=t[de](),ve(r,e,(function(){var t,e,i;try{e=(t=n.next()).value,i=t.done}catch(t){return void r.error(t)}i?r.complete():r.next(e)}),0,!0)})),function(){return xt(null==n?void 0:n.return)&&n.return()}}))}(t,e);if(fe(t))return function(t,e){return _e(pe(t),e)}(t,e)}throw ue(t)}(t,e):me(t)}var Me=Array.isArray;var Ce=["addListener","removeListener"],Ee=["addEventListener","removeEventListener"],Pe=["on","off"];function Te(t,e,r,n){if(xt(r)&&(n=r,r=void 0),n)return Te(t,e,r).pipe((i=n,ee((function(t){return function(t,e){return Me(e)?t.apply(void 0,Ct([],Mt(e))):t(e)}(i,t)}))));var i,o=Mt(function(t){return xt(t.addEventListener)&&xt(t.removeEventListener)}(t)?Ee.map((function(n){return function(i){return t[n](e,i,r)}})):function(t){return xt(t.addListener)&&xt(t.removeListener)}(t)?Ce.map(je(t,e)):function(t){return xt(t.on)&&xt(t.off)}(t)?Pe.map(je(t,e)):[],2),s=o[0],a=o[1];if(!s&&re(t))return be((function(t){return Te(t,e,r)}))(me(t));if(!s)throw new TypeError("Invalid event target");return new se((function(t){var e=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t.next(1<e.length?e:e[0])};return s(e),function(){return a(e)}}))}function je(t,e){return function(r){return function(n){return t[r](e,n)}}}const Fe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=ke(t),n=function(t,e){return"number"==typeof xe(t)?t.pop():1/0}(t),i=t;return i.length?1===i.length?me(i[0]):function(t){return void 0===t&&(t=1/0),be(oe,t)}(n)(Ae(i,r)):ye}(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Ae(t,ke(t))}(1),Te(window,"hashchange").pipe((ze=t=>t.preventDefault(),Ne=xt(ze)?{next:ze,error:Oe,complete:Re}:ze,Ne?kt((function(t,e){var r;null===(r=Ne.subscribe)||void 0===r||r.call(Ne);var n=!0;t.subscribe(Xt(e,(function(t){var r;null===(r=Ne.next)||void 0===r||r.call(Ne,t),e.next(t)}),(function(){var t;n=!1,null===(t=Ne.complete)||void 0===t||t.call(Ne),e.complete()}),(function(t){var r;n=!1,null===(r=Ne.error)||void 0===r||r.call(Ne,t),e.error(t)}),(function(){var t,e;n&&(null===(t=Ne.unsubscribe)||void 0===t||t.call(Ne)),null===(e=Ne.finalize)||void 0===e||e.call(Ne)})))})):oe))).pipe(ee((()=>window.location.hash.substr(1).split("/").filter(Boolean).map(decodeURIComponent))));var ze,Oe,Re,Ne,Be;!function(t){t.mutant="mutant",t.test="test"}(Be||(Be={}));var Le=function(t){function e(e,r){return t.call(this)||this}return St(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(Ft),De={setInterval:function(t,e){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var i=De.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,Ct([t,e],Mt(r))):setInterval.apply(void 0,Ct([t,e],Mt(r)))},clearInterval:function(t){var e=De.delegate;return((null==e?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0},Ie=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n.pending=!1,n}return St(e,t),e.prototype.schedule=function(t,e){var r;if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=null!==(r=this.id)&&void 0!==r?r:this.requestAsyncId(i,this.id,e),this},e.prototype.requestAsyncId=function(t,e,r){return void 0===r&&(r=0),De.setInterval(t.flush.bind(t,this),r)},e.prototype.recycleAsyncId=function(t,e,r){if(void 0===r&&(r=0),null!=r&&this.delay===r&&!1===this.pending)return e;null!=e&&De.clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(t,e);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var r,n=!1;try{this.work(t)}catch(t){n=!0,r=t||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r},e.prototype.unsubscribe=function(){if(!this.closed){var e=this.id,r=this.scheduler,n=r.actions;this.work=this.state=this.scheduler=null,this.pending=!1,jt(n,this),null!=e&&(this.id=this.recycleAsyncId(r,e,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(Le),Ue={now:function(){return(Ue.delegate||Date).now()},delegate:void 0},He=function(){function t(e,r){void 0===r&&(r=t.now),this.schedulerActionCtor=e,this.now=r}return t.prototype.schedule=function(t,e,r){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(r,e)},t.now=Ue.now,t}(),Ze=function(t){function e(e,r){void 0===r&&(r=He.now);var n=t.call(this,e,r)||this;return n.actions=[],n._active=!1,n}return St(e,t),e.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var r;this._active=!0;do{if(r=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,r){for(;t=e.shift();)t.unsubscribe();throw r}}},e}(He),Ke=new Ze(Ie),qe=Ke;function Ve(t,e){return void 0===e&&(e=Ke),r=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=Ke),t<0&&(t=0),function(t,e,r){void 0===t&&(t=0),void 0===r&&(r=qe);var n=-1;return null!=e&&(we(e)?r=e:n=e),new se((function(e){var i,o=(i=t)instanceof Date&&!isNaN(i)?+t-r.now():t;o<0&&(o=0);var s=0;return r.schedule((function(){e.closed||(e.next(s++),0<=n?this.schedule(void 0,n):e.complete())}),o)}))}(t,t,e)}(t,e),kt((function(t,e){var n=!1,i=null;t.subscribe(Xt(e,(function(t){n=!0,i=t}))),me(r).subscribe(Xt(e,(function(){if(n){n=!1;var t=i;i=null,e.next(t)}}),Dt))}));var r}var We=r(3704);function Ge(t,e,r){return new CustomEvent(t,{detail:e,...r})}var Ye=r(9130);const Je=(t,e)=>L`<li title=${t||U} class="my-3 rounded bg-white px-2 py-3 shadow">${e}</li>`,Qe=(t,e)=>L`<p title=${e||U}>${t}</p>`,Xe=t=>L`<div class="mb-6 mr-6 mt-2 flex flex-col gap-4">${t}</div>`,tr=(t,e)=>L`<span role="img" aria-label="${e}">${t}</span>`;var er=r(9483),rr=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let nr=class extends st{constructor(){super(...arguments),this.mode="closed",this.hasDetail=!1,this.toggleReadMore=t=>{"open"===this.mode?this.mode="half":this.mode="open",t.preventDefault(),t.stopImmediatePropagation()}}get toggleMoreLabel(){switch(this.mode){case"half":return L`${tr("🔼","up arrow")} More`;case"open":return L`${tr("🔽","down arrow")} Less`;case"closed":return U}}render(){return L`<aside @click="${t=>t.stopPropagation()}">
      <div class="mx-6">
        <header class="w-full py-4">
          <h2>
            <slot name="header"></slot>
            ${ir(this.hasDetail,L`<button data-testId="btnReadMoreToggle" class="ml-2 align-middle" @click="${this.toggleReadMore}"
                >${this.toggleMoreLabel}</button
              >`)}
          </h2>
        </header>
        <div class="scrollable container fixed motion-safe:transition-max-width">
          <slot name="summary"></slot>
          ${ir(this.hasDetail&&"open"===this.mode,L`<slot name="detail"></slot>`)}
        </div>
      </div>
    </aside>`}};function ir(t,e){return t?"function"==typeof e?e():e:U}function or(t,e){return null==t?U:e(t)}function sr(t){switch(t){case Ye.MutantStatus.Killed:return"success";case Ye.MutantStatus.NoCoverage:return"caution";case Ye.MutantStatus.Survived:return"danger";case Ye.MutantStatus.Timeout:return"warning";case Ye.MutantStatus.Ignored:case Ye.MutantStatus.RuntimeError:case Ye.MutantStatus.Pending:case Ye.MutantStatus.CompileError:return"secondary"}}function ar(t){switch(t){case pt.ih.Killing:return"success";case pt.ih.Covering:return"warning";case pt.ih.NotCovering:return"caution"}}function lr(t){switch(t){case pt.ih.Killing:return tr("✅",t);case pt.ih.Covering:return tr("☂",t);case pt.ih.NotCovering:return tr("🌧",t)}}function cr(t){switch(t){case Ye.MutantStatus.Killed:return tr("✅",t);case Ye.MutantStatus.NoCoverage:return tr("🙈",t);case Ye.MutantStatus.Ignored:return tr("🤥",t);case Ye.MutantStatus.Survived:return tr("👽",t);case Ye.MutantStatus.Timeout:return tr("⏰",t);case Ye.MutantStatus.Pending:return tr("⌛",t);case Ye.MutantStatus.RuntimeError:case Ye.MutantStatus.CompileError:return tr("💥",t)}}function ur(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function dr(...t){const e=new URL(window.location.href);return new URL(`#${t.filter(Boolean).join("/")}`,e).href}function hr(t){return t.length>1?"s":""}function pr({fileName:t,location:e}){return t?`${t}${e?`:${e.start.line}:${e.start.column}`:""}`:""}function fr(t){t&&!function(t){const{top:e,bottom:r}=t.getBoundingClientRect();return e>=0&&r<=(window.innerHeight||document.documentElement.clientHeight)-120}(t)&&t.scrollIntoView({block:"center",behavior:"smooth"})}function mr(){const t="test";try{return localStorage.setItem(t,t),localStorage.removeItem(t),!0}catch(t){return!1}}nr.styles=[s(er.Z),bt],rr([ut({reflect:!0})],nr.prototype,"mode",void 0),rr([ut({reflect:!0,type:Boolean})],nr.prototype,"hasDetail",void 0),rr([ut()],nr.prototype,"toggleMoreLabel",null),nr=rr([lt("mte-drawer")],nr);var gr=Pt((function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),vr=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.currentObservers=null,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return St(e,t),e.prototype.lift=function(t){var e=new br(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new gr},e.prototype.next=function(t){var e=this;Zt((function(){var r,n;if(e._throwIfClosed(),!e.isStopped){e.currentObservers||(e.currentObservers=Array.from(e.observers));try{for(var i=At(e.currentObservers),o=i.next();!o.done;o=i.next())o.value.next(t)}catch(t){r={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}}))},e.prototype.error=function(t){var e=this;Zt((function(){if(e._throwIfClosed(),!e.isStopped){e.hasError=e.isStopped=!0,e.thrownError=t;for(var r=e.observers;r.length;)r.shift().error(t)}}))},e.prototype.complete=function(){var t=this;Zt((function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var e=t.observers;e.length;)e.shift().complete()}}))},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,r=this,n=r.hasError,i=r.isStopped,o=r.observers;return n||i?zt:(this.currentObservers=null,o.push(t),new Ft((function(){e.currentObservers=null,jt(o,t)})))},e.prototype._checkFinalizedStatuses=function(t){var e=this,r=e.hasError,n=e.thrownError,i=e.isStopped;r?t.error(n):i&&t.complete()},e.prototype.asObservable=function(){var t=new se;return t.source=this,t},e.create=function(t,e){return new br(t,e)},e}(se),br=function(t){function e(e,r){var n=t.call(this)||this;return n.destination=e,n.source=r,n}return St(e,t),e.prototype.next=function(t){var e,r;null===(r=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===r||r.call(e,t)},e.prototype.error=function(t){var e,r;null===(r=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===r||r.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,r;return null!==(r=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==r?r:zt},e}(vr);const yr=new vr;var wr,xr=function(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};class kr extends st{constructor(){super(...arguments),wr.set(this,new Ft)}shouldReactivate(){return!0}reactivate(){this.requestUpdate()}connectedCallback(){super.connectedCallback(),xr(this,wr,"f").add(yr.subscribe((()=>this.shouldReactivate()&&this.reactivate())))}disconnectedCallback(){super.disconnectedCallback(),xr(this,wr,"f").unsubscribe()}}wr=new WeakMap;var $r=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let Sr=class extends kr{constructor(){super(...arguments),this.context={view:Be.mutant,path:[]},this.path=[],this.mutants=new Map,this.tests=new Map,this.themeSwitch=t=>{this.theme=t.detail,mr()&&localStorage.setItem("mutation-testing-elements-theme",this.theme)},this.subscriptions=[],this.sseSubscriptions=new Set}get themeBackgroundColor(){return getComputedStyle(this).getPropertyValue("--mut-body-bg")}get title(){return this.context.result?this.titlePostfix?`${this.context.result.name} - ${this.titlePostfix}`:this.context.result.name:""}firstUpdated(){(0===this.path.length||this.path[0]!==Be.mutant&&this.path[0]!==Be.test)&&window.location.replace(dr(`${Be.mutant}`))}async loadData(){if(this.src)try{const t=await fetch(this.src);this.report=await t.json()}catch(t){const e=String(t);this.errorMessage=e}}async willUpdate(t){this.theme||(this.theme=this.getTheme()),this.report&&(t.has("report")&&this.updateModel(this.report),(t.has("path")||t.has("report"))&&(this.updateContext(),this.updateTitle())),t.has("src")&&await this.loadData()}updated(t){t.has("theme")&&this.theme&&this.dispatchEvent(Ge("theme-changed",{theme:this.theme,themeBackgroundColor:this.themeBackgroundColor}))}getTheme(){return mr()&&localStorage.getItem("mutation-testing-elements-theme")||(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)")?.matches?"dark":"light")}updateModel(t){function e(t){return function e(r){r?.file&&t(r.file,r),r?.childResults.forEach((t=>{e(t)}))}}this.rootModel=(0,pt.xR)(t),e(((t,e)=>{t.result=e,t.mutants.forEach((t=>this.mutants.set(t.id,t)))}))(this.rootModel?.systemUnderTestMetrics),e(((t,e)=>{t.result=e,t.tests.forEach((t=>this.tests.set(t.id,t)))}))(this.rootModel?.testMetrics),this.rootModel.systemUnderTestMetrics.updateParent(),this.rootModel.testMetrics?.updateParent()}updateContext(){if(this.rootModel){const t=(t,e)=>e.reduce(((t,e)=>t?.childResults.find((t=>t.name===e))),t),e=this.path.slice(1);this.path[0]===Be.test&&this.rootModel.testMetrics?this.context={view:Be.test,path:e,result:t(this.rootModel.testMetrics,this.path.slice(1))}:this.context={view:Be.mutant,path:e,result:t(this.rootModel.systemUnderTestMetrics,this.path.slice(1))}}}updateTitle(){document.title=this.title}connectedCallback(){super.connectedCallback(),this.subscriptions.push(Fe.subscribe((t=>this.path=t))),this.initializeSse()}initializeSse(){if(!this.sse)return;this.source=new EventSource(this.sse);const t=Te(this.source,"mutant-tested").subscribe((t=>{const e=JSON.parse(t.data);if(!this.report)return;const r=this.mutants.get(e.id);if(void 0!==r){this.theMutant=r;for(const[t,r]of Object.entries(e))this.theMutant[t]=r;e.killedBy&&e.killedBy.forEach((t=>{const e=this.tests.get(t);void 0!==e&&(this.theTest=e,e.addKilled(this.theMutant),this.theMutant.addKilledBy(e))})),e.coveredBy&&e.coveredBy.forEach((t=>{const e=this.tests.get(t);void 0!==e&&(this.theTest=e,e.addCovered(this.theMutant),this.theMutant.addCoveredBy(e))}))}})),e=Te(this.source,"mutant-tested").pipe(Ve(100)).subscribe((()=>{this.applyChanges()}));this.sseSubscriptions.add(t),this.sseSubscriptions.add(e),this.source.addEventListener("finished",(()=>{this.source?.close(),this.applyChanges(),this.sseSubscriptions.forEach((t=>t.unsubscribe()))}))}applyChanges(){this.theMutant?.update(),this.theTest?.update(),yr.next()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach((t=>t.unsubscribe()))}renderTitle(){return this.context.result?L`
        <h1 class="text-5xl font-bold tracking-tight">
          ${this.context.result.name}${this.titlePostfix?L`<small class="text-light-muted ml-4 font-light">${this.titlePostfix}</small>`:U}
        </h1>
      `:U}render(){return this.context.result??this.errorMessage?L`
        <div class="container bg-white pb-4 font-sans text-gray-800 motion-safe:transition-max-width">
          <div class="space-y-4 transition-colors">
            ${this.renderErrorMessage()}
            <mte-theme-switch @theme-switch="${this.themeSwitch}" class="sticky top-offset z-20 float-right pt-6" .theme="${this.theme}">
            </mte-theme-switch>
            ${this.renderTitle()} ${this.renderTabs()}
            <mte-breadcrumb .view="${this.context.view}" .path="${this.context.path}"></mte-breadcrumb>
            <mte-result-status-bar
              .detected="${this.rootModel?.systemUnderTestMetrics.metrics.totalDetected}"
              .undetected="${this.rootModel?.systemUnderTestMetrics.metrics.totalUndetected}"
              .invalid="${this.rootModel?.systemUnderTestMetrics.metrics.totalInvalid}"
              .ignored="${this.rootModel?.systemUnderTestMetrics.metrics.ignored}"
              .pending="${this.rootModel?.systemUnderTestMetrics.metrics.pending}"
              .total="${this.rootModel?.systemUnderTestMetrics.metrics.totalMutants}"
            ></mte-result-status-bar>
            ${"mutant"===this.context.view&&this.context.result?L`<mte-mutant-view
                  id="mte-mutant-view"
                  .result="${this.context.result}"
                  .thresholds="${this.report.thresholds}"
                  .path="${this.path}"
                ></mte-mutant-view>`:U}
            ${"test"===this.context.view&&this.context.result?L`<mte-test-view id="mte-test-view" .result="${this.context.result}" .path="${this.path}"></mte-test-view>`:U}
          </div>
        </div>
      `:L``}renderErrorMessage(){return this.errorMessage?L`<div class="my-4 rounded-lg bg-red-100 p-4 text-sm text-red-700" role="alert">${this.errorMessage}</div>`:U}renderTabs(){if(this.rootModel?.testMetrics){const t="mutant"===this.context.view,e="test"===this.context.view;return L`
        <nav class="border-b border-gray-200 text-center text-sm font-medium  text-gray-600">
          <ul class="-mb-px flex flex-wrap" role="tablist">
            ${[{type:"mutant",isActive:t,text:"👽 Mutants"},{type:"test",isActive:e,text:"🧪 Tests"}].map((({type:t,isActive:e,text:r})=>L`<li class="mr-2" role="presentation">
                  <a
                    class="inline-block rounded-t-lg border-b-2 border-transparent p-4 transition-colors hover:border-gray-300 hover:bg-gray-200 hover:text-gray-700 aria-selected:border-b-[3px] aria-selected:border-primary-700  aria-selected:text-primary-on"
                    role="tab"
                    href="${dr(t)}"
                    aria-selected="${e}"
                    aria-controls="mte-${t}-view"
                    >${r}</a
                  >
                </li>`))}
          </ul>
        </nav>
      `}return U}};Sr.styles=[wt,s(We.Z),bt],$r([ut({attribute:!1})],Sr.prototype,"report",void 0),$r([ut({attribute:!1})],Sr.prototype,"rootModel",void 0),$r([ut()],Sr.prototype,"src",void 0),$r([ut()],Sr.prototype,"sse",void 0),$r([ut({attribute:!1})],Sr.prototype,"errorMessage",void 0),$r([ut({attribute:!1})],Sr.prototype,"context",void 0),$r([ut()],Sr.prototype,"path",void 0),$r([ut({attribute:"title-postfix"})],Sr.prototype,"titlePostfix",void 0),$r([ut({reflect:!0})],Sr.prototype,"theme",void 0),$r([ut({attribute:!1})],Sr.prototype,"themeBackgroundColor",null),$r([ut()],Sr.prototype,"title",null),Sr=$r([lt("mutation-test-report-app")],Sr);const{I:_r}=rt,Ar=()=>document.createComment(""),Mr=(t,e,r)=>{var n;const i=t._$AA.parentNode,o=void 0===e?t._$AB:e._$AA;if(void 0===r){const e=i.insertBefore(Ar(),o),n=i.insertBefore(Ar(),o);r=new _r(e,n,t,t.options)}else{const e=r._$AB.nextSibling,s=r._$AM,a=s!==t;if(a){let e;null===(n=r._$AQ)||void 0===n||n.call(r,t),r._$AM=t,void 0!==r._$AP&&(e=t._$AU)!==s._$AU&&r._$AP(e)}if(e!==o||a){let t=r._$AA;for(;t!==e;){const e=t.nextSibling;i.insertBefore(t,o),t=e}}}return r},Cr=(t,e,r=t)=>(t._$AI(e,r),t),Er={},Pr=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let r=t._$AA;const n=t._$AB.nextSibling;for(;r!==n;){const t=r.nextSibling;r.remove(),r=t}},Tr=t=>(...e)=>({_$litDirective$:t,values:e});class jr{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const Fr=(t,e)=>{var r,n;const i=t._$AN;if(void 0===i)return!1;for(const t of i)null===(n=(r=t)._$AO)||void 0===n||n.call(r,e,!1),Fr(t,e);return!0},zr=t=>{let e,r;do{if(void 0===(e=t._$AM))break;r=e._$AN,r.delete(t),t=e}while(0===(null==r?void 0:r.size))},Or=t=>{for(let e;e=t._$AM;t=e){let r=e._$AN;if(void 0===r)e._$AN=r=new Set;else if(r.has(t))break;r.add(t),Br(e)}};function Rr(t){void 0!==this._$AN?(zr(this),this._$AM=t,Or(this)):this._$AM=t}function Nr(t,e=!1,r=0){const n=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(e)if(Array.isArray(n))for(let t=r;t<n.length;t++)Fr(n[t],!1),zr(n[t]);else null!=n&&(Fr(n,!1),zr(n));else Fr(this,t)}const Br=t=>{var e,r,n,i;2==t.type&&(null!==(e=(n=t)._$AP)&&void 0!==e||(n._$AP=Nr),null!==(r=(i=t)._$AQ)&&void 0!==r||(i._$AQ=Rr))};class Lr extends jr{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),Or(this),this.isConnected=t._$AU}_$AO(t,e=!0){var r,n;t!==this.isConnected&&(this.isConnected=t,t?null===(r=this.reconnected)||void 0===r||r.call(this):null===(n=this.disconnected)||void 0===n||n.call(this)),e&&(Fr(this,t),zr(this))}setValue(t){if((t=>void 0===this._$Ct.strings)())this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class Dr{}const Ir=new WeakMap,Ur=Tr(class extends Lr{render(t){return U}update(t,[e]){var r;const n=e!==this.G;return n&&void 0!==this.G&&this.ot(void 0),(n||this.rt!==this.lt)&&(this.G=e,this.ct=null===(r=t.options)||void 0===r?void 0:r.host,this.ot(this.lt=t.element)),U}ot(t){var e;if("function"==typeof this.G){const r=null!==(e=this.ct)&&void 0!==e?e:globalThis;let n=Ir.get(r);void 0===n&&(n=new WeakMap,Ir.set(r,n)),void 0!==n.get(this.G)&&this.G.call(this.ct,void 0),n.set(this.G,t),void 0!==t&&this.G.call(this.ct,t)}else this.G.value=t}get rt(){var t,e,r;return"function"==typeof this.G?null===(e=Ir.get(null!==(t=this.ct)&&void 0!==t?t:globalThis))||void 0===e?void 0:e.get(this.G):null===(r=this.G)||void 0===r?void 0:r.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});var Hr,Zr;function Kr(t){switch(function(t){return t.substr(t.lastIndexOf(".")+1).toLocaleLowerCase()}(t)){case"cs":return Hr.csharp;case"html":return Hr.html;case"java":return Hr.java;case"js":case"cjs":case"mjs":return Hr.javascript;case"ts":case"tsx":case"cts":case"mts":return Hr.typescript;case"scala":return Hr.scala;case"php":return Hr.php;case"vue":return Hr.vue;case"feature":return Hr.gherkin;default:return}}function qr(t,e){const r=Kr(e)??"plain";let n=r;return r===Hr.vue&&(n=Hr.html),(0,vt.highlight)(t,vt.languages[n],n)}function Vr(t,e){let r=[];const n=[],i={column:0,line:1,offset:-1},o=[];let s=!1,a=0;for(;a<t.length;){switch(s&&!Wr(t[a])&&(o.forEach((t=>l(c(t)))),s=!1),t[a]){case Zr.CarriageReturn:i.offset++;break;case Zr.NewLine:u(),i.offset++,i.line++,i.column=0,s=!0;break;case Zr.LT:{const t=h();t.isClosing?f(t):p(t);break}case Zr.Amp:d(g());break;default:d(t[a])}a++}return u(),n;function l(...t){r.push(...t)}function c({attributes:t,elementName:e,isClosing:r}){return r?`</${e}>`:`<${e}${Object.entries(t??{}).reduce(((t,[e,r])=>void 0===r?`${t} ${e}`:`${t} ${e}="${r}"`),"")}>`}function u(){o.forEach((t=>l(c({...t,isClosing:!0})))),n.push(r.join("")),r=[]}function d(t){if(i.column++,i.offset++,e)for(const t of e(i))t.isClosing?f(t):(l(c(t)),o.push(t));l(t)}function h(){a++;const e="/"===t[a]||void 0;e&&a++;const r=a;for(;!Wr(t[a])&&t[a]!==Zr.GT;)a++;return{elementName:t.substring(r,a),attributes:function(){const e=Object.create(null);for(;a<t.length;){const r=t[a];if(r===Zr.GT)return e;if(!Wr(r)){const{name:t,value:r}=m();e[t]=r}a++}throw new Error(`Missing closing tag near ${t.substr(a-10)}`)}(),isClosing:e}}function p(t){o.push(t),l(c(t))}function f(t){let e;for(e=o.length-1;e>=0;e--){const r=o[e];if(t.elementName===r.elementName&&r.id===t.id){l(c(t)),o.splice(e,1);for(let t=e;t<o.length;t++)l(c(o[t]));break}l(c({...r,isClosing:!0}))}if(-1===e)throw new Error(`Cannot find corresponding opening tag for ${c(t)}`)}function m(){const e=a;for(;"="!==t[a];)a++;const r=t.substring(e,a);a++;const n=function(){'"'===t[a]&&a++;const e=a;for(;'"'!==t[a];)a++;return t.substring(e,a)}();return{name:r,value:n}}function g(){const e=a;for(;t[a]!==Zr.Semicolon;)a++;return t.substring(e,a+1)}}function Wr(t){return t===Zr.NewLine||t===Zr.Space||t===Zr.Tab}function Gr(t,e){return t.line>e.line||t.line===e.line&&t.column>=e.column}!function(t){t.csharp="cs",t.java="java",t.javascript="javascript",t.html="html",t.php="php",t.scala="scala",t.typescript="typescript",t.vue="vue",t.gherkin="gherkin"}(Hr||(Hr={})),function(t){t.CarriageReturn="\r",t.NewLine="\n",t.Space=" ",t.Amp="&",t.Semicolon=";",t.LT="<",t.GT=">",t.Tab="\t"}(Zr||(Zr={}));var Yr=r(5545);class Jr extends jr{constructor(t){if(super(t),this.et=U,2!==t.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===U||null==t)return this.ft=void 0,this.et=t;if(t===I)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.ft;this.et=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}Jr.directiveName="unsafeHTML",Jr.resultType=1;const Qr=Tr(Jr);function Xr(t,e){return t===U&&e===U?U:L`<span class="ml-1 flex flex-row items-center">${t}${e}</span>`}function tn(t,e){return L`<tr class="line"
    ><td class="line-number"></td><td class="line-marker"></td><td class="code flex"><span>${Qr(t)}</span>${e}</td></tr
  >`}var en=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};const rn="diff-old",nn="diff-new";let on=class extends kr{constructor(){super(...arguments),this.filters=[],this.selectedMutantStates=[],this.lines=[],this.mutants=[],this.codeRef=new Dr,this.filtersChanged=t=>{this.selectedMutantStates=t.detail.concat([Ye.MutantStatus.Pending])},this.codeClicked=t=>{if(t.stopPropagation(),t.target instanceof Element){let e=t.target;const r=[];for(;e instanceof Element;e=e.parentElement){const t=e.getAttribute("mutant-id"),n=this.mutants.find((({id:e})=>e.toString()===t));n&&r.push(n)}const n=(this.selectedMutant?r.indexOf(this.selectedMutant):-1)+1;r[n]?(this.toggleMutant(r[n]),an()):this.selectedMutant&&(this.toggleMutant(this.selectedMutant),an())}},this.nextMutant=()=>{const t=this.selectedMutant?(this.mutants.indexOf(this.selectedMutant)+1)%this.mutants.length:0;this.mutants[t]&&this.toggleMutant(this.mutants[t])},this.previousMutant=()=>{const t=this.selectedMutant?(this.mutants.indexOf(this.selectedMutant)+this.mutants.length-1)%this.mutants.length:this.mutants.length-1;this.mutants[t]&&this.toggleMutant(this.mutants[t])}}render(){const t=new Map;for(const e of this.mutants){let r=t.get(e.location.start.line);r||(r=[],t.set(e.location.start.line,r)),r.push(e)}const e=e=>this.renderMutantDots([...t.entries()].filter((([t])=>t>e)).flatMap((([,t])=>t)));return L`
      <mte-state-filter
        allow-toggle-all
        .filters="${this.filters}"
        @filters-changed="${this.filtersChanged}"
        @next=${this.nextMutant}
        @previous=${this.previousMutant}
      ></mte-state-filter>
      <pre
        @click="${this.codeClicked}"
        id="report-code-block"
        class="line-numbers ${this.selectedMutantStates.map((t=>`mte-selected-${t}`)).join(" ")} flex rounded-md py-4"
      >
        <code ${Ur(this.codeRef)} class="flex language-${this.model.language}">
          <table>${this.lines.map(((r,n)=>{const i=n+1;return tn(r,Xr(this.renderMutantDots(t.get(i)),this.lines.length===i?e(i):U))}))}</table>
          </code>
          </pre>
    `}renderMutantDots(t){return t?.length?t.map((t=>D`<svg mutant-id="${t.id}" class="mutant-dot ${this.selectedMutant?.id===t.id?"selected":t.status}" height="10" width="12">
          <title>${sn(t)}</title>
          <circle cx="5" cy="5" r="5" />
          </svg>`)):U}toggleMutant(t){if(this.removeCurrentDiff(),this.selectedMutant===t)return this.selectedMutant=void 0,void this.dispatchEvent(Ge("mutant-selected",{selected:!1,mutant:t}));this.selectedMutant=t;const e=this.codeRef.value.querySelectorAll("tr.line");for(let r=t.location.start.line-1;r<t.location.end.line;r++)e.item(r).classList.add(rn);const r=this.highlightedReplacementRows(t),n=e.item(t.location.end.line-1);n.insertAdjacentHTML("afterend",r),fr(n),this.dispatchEvent(Ge("mutant-selected",{selected:!0,mutant:t}))}removeCurrentDiff(){this.codeRef.value.querySelectorAll(`.${rn}`).forEach((t=>t.classList.remove(rn))),this.codeRef.value.querySelectorAll(`.${nn}`).forEach((t=>t.remove()))}reactivate(){super.reactivate(),this.updateFileRepresentation()}update(t){t.has("model")&&this.model&&this.updateFileRepresentation(),(t.has("model")&&this.model||t.has("selectedMutantStates"))&&(this.mutants=this.model.mutants.filter((t=>this.selectedMutantStates.includes(t.status))).sort(((t,e)=>Gr(t.location.start,e.location.start)?1:-1)),this.selectedMutant&&!this.mutants.includes(this.selectedMutant)&&t.has("selectedMutantStates")&&this.selectedMutantsHaveChanged(t.get("selectedMutantStates"))&&this.toggleMutant(this.selectedMutant)),super.update(t)}updateFileRepresentation(){this.filters=[Ye.MutantStatus.Killed,Ye.MutantStatus.Survived,Ye.MutantStatus.NoCoverage,Ye.MutantStatus.Ignored,Ye.MutantStatus.Timeout,Ye.MutantStatus.CompileError,Ye.MutantStatus.RuntimeError].filter((t=>this.model.mutants.some((e=>e.status===t)))).map((t=>({enabled:[...this.selectedMutantStates,Ye.MutantStatus.Survived,Ye.MutantStatus.NoCoverage,Ye.MutantStatus.Timeout].includes(t),count:this.model.mutants.filter((e=>e.status===t)).length,status:t,label:L`${cr(t)} ${t}`,context:sr(t)})));const t=qr(this.model.source,this.model.name),e=new Set,r=new Set(this.model.mutants);this.lines=Vr(t,(function*(t){for(const r of e)Gr(t,r.location.end)&&(e.delete(r),yield{elementName:"span",id:r.id,isClosing:!0});for(const n of r)Gr(t,n.location.start)&&(e.add(n),r.delete(n),yield{elementName:"span",id:n.id,attributes:{class:ur(`mutant border-none ${n.status}`),title:ur(sn(n)),"mutant-id":ur(n.id.toString())}})}))}selectedMutantsHaveChanged(t){return t.length!==this.selectedMutantStates.length||!t.every(((t,e)=>this.selectedMutantStates[e]===t))}highlightedReplacementRows(t){const e=t.getMutatedLines().trimEnd(),r=t.getOriginalLines().trimEnd(),[n,i]=function(t,e){let r=0,n=e.length-1;for(;t[r]===e[r]&&r<e.length;)r++;const i=t.length-e.length;for(;t[n+i]===e[n]&&n>r;)n--;n===r&&(Wr(e[r-1])||r--),n++;const o=e.substring(r,n);return["true","false"].forEach((t=>{o===t.substr(0,t.length-1)&&t.endsWith(e[n])&&n++,o===t.substr(1,t.length)&&t.startsWith(e[r-1])&&r--})),[r,n]}(r,e),o=Vr(qr(e,this.model.name),(function*({offset:t}){t===n?yield{elementName:"span",id:"diff-focus",attributes:{class:"diff-focus"}}:t===i&&(yield{elementName:"span",id:"diff-focus",isClosing:!0})})),s=`<tr class="${nn}"><td class="empty-line-number"></td><td class="line-marker"></td><td class="code">`;return o.map((t=>`${s}${t}</td></tr>`)).join("")}};function sn(t){return`${t.mutatorName} ${t.status}`}function an(){window.getSelection()?.removeAllRanges()}on.styles=[yt,bt,s(Yr.Z)],en([dt()],on.prototype,"filters",void 0),en([ut()],on.prototype,"model",void 0),en([dt()],on.prototype,"selectedMutantStates",void 0),en([dt()],on.prototype,"selectedMutant",void 0),en([dt()],on.prototype,"lines",void 0),en([dt()],on.prototype,"mutants",void 0),on=en([lt("mte-file")],on);const ln=(t,e,r)=>{const n=new Map;for(let i=e;i<=r;i++)n.set(t[i],i);return n},cn=Tr(class extends jr{constructor(t){if(super(t),2!==t.type)throw Error("repeat() can only be used in text expressions")}dt(t,e,r){let n;void 0===r?r=e:void 0!==e&&(n=e);const i=[],o=[];let s=0;for(const e of t)i[s]=n?n(e,s):s,o[s]=r(e,s),s++;return{values:o,keys:i}}render(t,e,r){return this.dt(t,e,r).values}update(t,[e,r,n]){var i;const o=t._$AH,{values:s,keys:a}=this.dt(e,r,n);if(!Array.isArray(o))return this.ht=a,s;const l=null!==(i=this.ht)&&void 0!==i?i:this.ht=[],c=[];let u,d,h=0,p=o.length-1,f=0,m=s.length-1;for(;h<=p&&f<=m;)if(null===o[h])h++;else if(null===o[p])p--;else if(l[h]===a[f])c[f]=Cr(o[h],s[f]),h++,f++;else if(l[p]===a[m])c[m]=Cr(o[p],s[m]),p--,m--;else if(l[h]===a[m])c[m]=Cr(o[h],s[m]),Mr(t,c[m+1],o[h]),h++,m--;else if(l[p]===a[f])c[f]=Cr(o[p],s[f]),Mr(t,o[h],o[p]),p--,f++;else if(void 0===u&&(u=ln(a,f,m),d=ln(l,h,p)),u.has(l[h]))if(u.has(l[p])){const e=d.get(a[f]),r=void 0!==e?o[e]:null;if(null===r){const e=Mr(t,o[h]);Cr(e,s[f]),c[f]=e}else c[f]=Cr(r,s[f]),Mr(t,o[h],r),o[e]=null;f++}else Pr(o[p]),p--;else Pr(o[h]),h++;for(;f<=m;){const e=Mr(t,c[m+1]);Cr(e,s[f]),c[f++]=e}for(;h<=p;){const t=o[h++];null!==t&&Pr(t)}return this.ht=a,((t,e=Er)=>{t._$AH=e})(t,c),I}});var un=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let dn=class extends st{get rootName(){switch(this.view){case Be.mutant:return"All files";case Be.test:return"All tests"}}render(){return L`<nav class="my-4 flex rounded-md border border-primary-600 bg-primary-100 p-3 text-gray-700" aria-label="Breadcrumb">
      <ol class="inline-flex items-center">
        ${this.path&&this.path.length>0?this.renderLink(this.rootName,[]):this.renderActiveItem(this.rootName)}
        ${this.renderBreadcrumbItems()}
      </ol>
    </nav> `}renderBreadcrumbItems(){if(this.path){const t=this.path;return cn(t,(t=>t),((e,r)=>r===t.length-1?this.renderActiveItem(e):this.renderLink(e,t.slice(0,r+1))))}}renderActiveItem(t){return L`<li aria-current="page">
      <span class="ml-1 text-sm font-medium text-gray-800">${t}</span>
    </li> `}renderLink(t,e){return L`<li class="after:text-gray-800 after:content-['/'] md:after:pl-1">
      <a
        href="${dr(this.view,...e)}"
        class="ml-1 text-sm font-medium text-primary-800 underline hover:text-gray-900 hover:underline md:ml-2"
        >${t}</a
      >
    </li>`}};dn.styles=[bt],un([ut()],dn.prototype,"path",void 0),un([ut()],dn.prototype,"view",void 0),dn=un([lt("mte-breadcrumb")],dn);var hn=r(1276),pn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let fn=class extends kr{constructor(){super(...arguments),this.next=t=>{t.stopPropagation(),this.dispatchEvent(Ge("next",void 0,{bubbles:!0,composed:!0}))},this.previous=t=>{t.stopPropagation(),this.dispatchEvent(Ge("previous",void 0,{bubbles:!0,composed:!0}))}}updated(t){t.has("filters")&&this.dispatchFiltersChangedEvent()}checkboxChanged(t,e){t.enabled=e,this.dispatchFiltersChangedEvent()}dispatchFiltersChangedEvent(){this.dispatchEvent(Ge("filters-changed",this.filters.filter((({enabled:t})=>t)).map((({status:t})=>t))))}render(){return L`
      <div class="sticky top-offset z-10 flex flex-row bg-white py-6">
        <div class="mr-3">
          <button title="Previous" @click=${this.previous} type="button" class="step-button">
            <svg aria-hidden="true" class="h-4 w-4 rotate-180" fill="white" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
              <path
                fill-rule="evenodd"
                d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
                clip-rule="evenodd"
              ></path>
            </svg>
            <span class="sr-only">Select previous mutant</span>
          </button>
          <button title="Next" @click=${this.next} type="button" class="step-button">
            <svg aria-hidden="true" class="h-4 w-4" fill="white" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
              <path
                fill-rule="evenodd"
                d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
                clip-rule="evenodd"
              ></path>
            </svg>
            <span class="sr-only">Select next mutant</span>
          </button>
        </div>

        ${ir(this.filters?.length,cn(this.filters,(t=>t.status),(t=>L`
              <div class="mr-4 flex items-center" data-status="${t.status}">
                <input
                  ?checked="${t.enabled}"
                  id="filter-${t.status}"
                  aria-describedby="status-description"
                  type="checkbox"
                  value="${t.status}"
                  @input="${e=>this.checkboxChanged(t,e.target.checked)}"
                  class="h-5 w-5 rounded border-gray-300 bg-gray-100 text-primary-on !ring-offset-gray-200 focus:outline-none focus:ring-2 focus:ring-primary-500"
                />

                <label
                  for="filter-${t.status}"
                  class="${this.bgForContext(t.context)} mx-2 rounded px-2.5 py-0.5 text-sm font-medium hover:cursor-pointer"
                >
                  ${t.label} (${t.count})
                </label>
              </div>
            `)))}
      </div>
    `}bgForContext(t){switch(t){case"success":return"bg-green-100 text-green-800";case"warning":return"bg-yellow-100 text-yellow-800";case"danger":return"bg-red-100 text-red-800";case"caution":return"bg-orange-100 text-orange-800";default:return"bg-gray-100 text-gray-800"}}};fn.styles=[bt,s(hn.Z)],pn([ut({type:Array})],fn.prototype,"filters",void 0),fn=pn([lt("mte-state-filter")],fn);var mn=r(4835),gn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let vn=class extends st{constructor(){super(...arguments),this.dispatchThemeChangedEvent=t=>{const e=t.target.checked;this.dispatchEvent(Ge("theme-switch",e?"dark":"light"))}}render(){return L`
      <div class="check-box-container" @click="${t=>t.stopPropagation()}">
        <input type="checkbox" @click="${this.dispatchThemeChangedEvent}" ?checked="${"dark"==this.theme}" id="darkTheme" />
        <label for="darkTheme">Dark</label>
      </div>
    `}};vn.styles=[bt,s(mn.Z)],gn([ut()],vn.prototype,"theme",void 0),vn=gn([lt("mte-theme-switch")],vn);const bn=({hasDetail:t,mode:e},r)=>L`<mte-drawer
    class="container fixed bottom-0 z-10 overflow-hidden rounded-t-3xl bg-gray-200/60 shadow-xl backdrop-blur-lg motion-safe:transition-[height,max-width] motion-safe:duration-200"
    ?hasDetail=${t}
    .mode="${e}"
  >
    ${r}
  </mte-drawer>`;var yn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};const wn=t=>`${t.name}${t.sourceFile&&t.location?` (${pr(t)})`:""}`;let xn=class extends kr{constructor(){super(...arguments),this.mode="closed"}render(){return bn({hasDetail:Boolean(this.mutant?.killedByTests?.length||this.mutant?.coveredByTests?.length),mode:this.mode},or(this.mutant,(t=>L`
          <span class="align-middle text-lg" slot="header"
            >${cr(t.status)} ${t.mutatorName} ${t.status}
            (${t.location.start.line}:${t.location.start.column})</span
          >
          <span slot="summary">${this.renderSummary()}</span>
          <span slot="detail" class="block">${this.renderDetail()}</span>
        `)))}renderSummary(){return Xe(L`${this.mutant?.killedByTests?.[0]?Qe(L`${tr("🎯","killed")} Killed by:
            ${this.mutant.killedByTests?.[0].name}${this.mutant.killedByTests.length>1?`(and ${this.mutant.killedByTests.length-1} more)`:""}`):U}
      ${ir(this.mutant?.static,Qe(L`${tr("🗿","static")} Static mutant`))}
      ${or(this.mutant?.coveredByTests,(t=>Qe(L`${tr("☂️","umbrella")} Covered by ${t.length}
          test${hr(t)}${this.mutant?.status===Ye.MutantStatus.Survived?" (yet still survived)":""}`)))}
      ${ir(this.mutant?.statusReason?.trim(),Qe(L`${tr("🕵️","spy")} ${this.mutant.statusReason}`,`Reason for the ${this.mutant.status} status`))}
      ${or(this.mutant?.description,(t=>Qe(L`${tr("📖","book")} ${t}`)))}`)}renderDetail(){return L`<ul class="mb-6 mr-12">
      ${this.mutant?.killedByTests?.map((t=>Je("This mutant was killed by this test",L`${tr("🎯","killed")} ${wn(t)}`)))}
      ${this.mutant?.coveredByTests?.filter((t=>!this.mutant?.killedByTests?.includes(t))).map((t=>Je("This mutant was covered by this test",L`${tr("☂️","umbrella")} ${wn(t)}`)))}
    </ul>`}};xn.styles=[bt],yn([ut()],xn.prototype,"mutant",void 0),yn([ut({reflect:!0})],xn.prototype,"mode",void 0),xn=yn([lt("mte-drawer-mutant")],xn);var kn=r(3813),$n=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let Sn=class extends kr{constructor(){super(...arguments),this.drawerMode="closed",this.handleClick=()=>{this.drawerMode="closed"},this.handleMutantSelected=t=>{this.selectedMutant=t.detail.mutant,this.drawerMode=t.detail.selected?"half":"closed"}}updated(t){t.has("result")&&!this.result.file&&(this.drawerMode="closed")}render(){return L`
      <main @click="${this.handleClick}">
        <mte-metrics-table .columns="${_n}" .currentPath="${this.path}" .thresholds="${this.thresholds}" .model="${this.result}">
        </mte-metrics-table>
        ${this.result.file?L`<mte-file @mutant-selected="${this.handleMutantSelected}" .model="${this.result.file}"></mte-file>`:U}
      </main>
      <mte-drawer-mutant .mode="${this.drawerMode}" .mutant="${this.selectedMutant}"></mte-drawer-mutant>
    `}};Sn.styles=[s(kn.Z),bt],$n([ut()],Sn.prototype,"drawerMode",void 0),$n([ut()],Sn.prototype,"selectedMutant",void 0),$n([ut()],Sn.prototype,"result",void 0),$n([ut({attribute:!1,reflect:!1})],Sn.prototype,"thresholds",void 0),$n([ut({attribute:!1,reflect:!1})],Sn.prototype,"path",void 0),Sn=$n([lt("mte-mutant-view")],Sn);const _n=[{key:"mutationScore",label:"Mutation score",tooltip:"The percentage of mutants that were detected. The higher, the better!",category:"percentage"},{key:"killed",label:"Killed",tooltip:"At least one test failed while these mutants were active. This is what you want!",category:"number"},{key:"survived",label:"Survived",tooltip:"All tests passed while these mutants were active. You're missing a test for them.",category:"number"},{key:"timeout",label:"Timeout",tooltip:"Running the tests while these mutants were active resulted in a timeout. For example, an infinite loop.",category:"number"},{key:"noCoverage",label:"No coverage",tooltip:"These mutants aren't covered by one of your tests and survived as a result.",category:"number"},{key:"ignored",label:"Ignored",tooltip:"These mutants weren't tested because they are ignored. Either by user action, or for another reason.",category:"number"},{key:"runtimeErrors",label:"Runtime errors",tooltip:"Running tests when these mutants are active resulted in an error (rather than a failed test). For example: an out of memory error.",category:"number"},{key:"compileErrors",label:"Compile errors",tooltip:"Mutants that caused a compile error.",category:"number"},{key:"totalDetected",label:"Detected",tooltip:"The number of mutants detected by your tests (killed + timeout).",category:"number",width:"large",isBold:!0},{key:"totalUndetected",label:"Undetected",tooltip:"The number of mutants that are not detected by your tests (survived + no coverage).",category:"number",width:"large",isBold:!0},{key:"totalMutants",label:"Total",tooltip:"All mutants (except runtimeErrors + compileErrors)",category:"number",width:"large",isBold:!0}];var An=r(9827),Mn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let Cn=class extends kr{constructor(){super(...arguments),this.drawerMode="closed",this.handleClick=()=>{this.drawerMode="closed"},this.handleTestSelected=t=>{this.selectedTest=t.detail.test,this.drawerMode=t.detail.selected?"half":"closed"}}updated(t){t.has("result")&&!this.result.file&&(this.drawerMode="closed")}render(){return L`
      <main @click="${this.handleClick}">
        <mte-metrics-table .columns="${En}" .currentPath="${this.path}" .model="${this.result}"> </mte-metrics-table>
        ${this.result.file?L`<mte-test-file @test-selected="${this.handleTestSelected}" .model="${this.result.file}"></mte-test-file>`:U}
      </main>
      <mte-drawer-test .mode="${this.drawerMode}" .test="${this.selectedTest}"></mte-drawer-test>
    `}};Cn.styles=[s(An.Z),bt],Mn([ut()],Cn.prototype,"drawerMode",void 0),Mn([ut()],Cn.prototype,"result",void 0),Mn([ut({attribute:!1,reflect:!1})],Cn.prototype,"path",void 0),Mn([ut()],Cn.prototype,"selectedTest",void 0),Cn=Mn([lt("mte-test-view")],Cn);const En=[{key:"killing",label:"Killing",tooltip:"These tests killed at least one mutant",width:"normal",category:"number"},{key:"covering",label:"Covering",tooltip:"These tests are covering at least one mutant, but not killing any of them.",width:"normal",category:"number"},{key:"notCovering",label:"Not Covering",tooltip:"These tests were not covering a mutant (and thus not killing any of them).",width:"normal",category:"number"},{key:"total",label:"Total tests",width:"large",category:"number",isBold:!0}],Pn=Tr(class extends jr{constructor(t){var e;if(super(t),1!==t.type||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var r,n;if(void 0===this.it){this.it=new Set,void 0!==t.strings&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(e)}const i=t.element.classList;this.it.forEach((t=>{t in e||(i.remove(t),this.it.delete(t))}));for(const t in e){const r=!!e[t];r===this.it.has(t)||(null===(n=this.nt)||void 0===n?void 0:n.has(t))||(r?(i.add(t),this.it.add(t)):(i.remove(t),this.it.delete(t)))}return I}});var Tn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let jn=class extends kr{constructor(){super(...arguments),this.currentPath=[],this.thresholds={high:80,low:60},this.hasMultipleColspan=!1}willUpdate(t){t.has("columns")&&(this.hasMultipleColspan=this.columns.some((t=>"percentage"===t.category)))}render(){return L`${this.model?L`<div class="overflow-x-auto rounded-md border border-gray-200">
          <table class="w-full table-auto text-left text-sm">${this.renderTableHeadRow()}${this.renderTableBody(this.model)} </table>
        </div>`:U}`}renderTableHeadRow(){return L`<thead class="border-b border-gray-200 text-center text-sm">
      <tr>
        <th scope="col" class="px-4 py-4">
          <div class="flex items-center justify-around">
            <span>File / Directory</span
            ><a
              href="https://stryker-mutator.io/docs/mutation-testing-elements/mutant-states-and-metrics"
              target="_blank"
              class="info-icon float-right"
              title="What does this all mean?"
              >${tr("ℹ","info icon")}</a
            >
          </div>
        </th>
        ${cn(this.columns,(t=>t.key),(t=>this.renderTableHead(t)))}
      </tr>
    </thead>`}renderTableHead(t){const e=`tooltip-${t.key.toString()}`,r=t.tooltip?L`<mte-tooltip title="${t.tooltip}" id="${e}">${t.label}</mte-tooltip>`:L`<span id="${e}">${t.label}</span>`;return"percentage"===t.category?L` <th colspan="2" class="px-2 even:bg-gray-100"> ${r} </th>`:L`<th class="w-24 px-2 even:bg-gray-100 2xl:w-28">
      <div class="inline-block">${r}</div>
    </th>`}renderTableBody(t){return L`<tbody class="divide-y divide-gray-200">${this.renderRow(t.name,t)} ${(()=>t.file?U:t.childResults.map((t=>{const e=[t.name];for(;!t.file&&1===t.childResults.length;)t=t.childResults[0],e.push(t.name);return this.renderRow(e.join("/"),t,...this.currentPath,...e)})))()}</tbody>`}renderRow(t,e,...r){return L`<tr title="${e.name}" class="group hover:bg-gray-200">
      <td class="font-semibold">
        <div class="flex items-center justify-start">
          <mte-file-icon file-name="${e.name}" ?file="${e.file}" class="mx-1"></mte-file-icon> ${r.length>0?L`<a class="mr-auto inline-block w-full py-4 pr-2 hover:text-primary-on hover:underline" href="${dr(...r)}"
                >${t}</a
              >`:L`<span class="py-4">${e.name}</span>`}
        </div>
      </td>
      ${this.columns.map((t=>this.renderCell(t,e.metrics)))}
    </tr>`}renderCell(t,e){const r=e[t.key],n=this.hasMultipleColspan?"odd:bg-gray-100":"even:bg-gray-100";if("percentage"===t.category){const e=!isNaN(r),i=this.determineBgColoringClass(r),o=this.determineTextColoringClass(r),s=r.toFixed(2),a=`width: ${r}%`;return L`<td class="bg-gray-100 px-4 py-4 group-hover:bg-gray-200">
          ${e?L`<div class="h-3 w-full min-w-[24px] rounded-full bg-gray-300">
                <div
                  class="${i} h-3 rounded-full pl-1 transition-all"
                  role="progressbar"
                  aria-valuenow="${s}"
                  aria-valuemin="0"
                  aria-valuemax="100"
                  aria-describedby="tooltip-mutationScore"
                  title="${t.label}"
                  style="${a}"
                ></div>
              </div>`:L` <span class="text-light-muted font-bold">N/A</span> `}
        </td>
        <td class="${o} ${n} w-12 pr-2 text-center font-bold group-hover:bg-gray-200"
          >${e?L`<span class="transition-colors">${s}</span>`:U}</td
        >`}return L`<td
      class="${Pn({"font-bold":t.isBold??!1,[n]:!0})} py-4 text-center group-hover:bg-gray-200"
      aria-describedby="${`tooltip-${t.key.toString()}`}"
      >${r}</td
    >`}determineBgColoringClass(t){return!isNaN(t)&&this.thresholds?t<this.thresholds.low?"bg-red-600 text-gray-200":t<this.thresholds.high?"bg-yellow-400":"bg-green-600 text-gray-200":"bg-blue-600"}determineTextColoringClass(t){return!isNaN(t)&&this.thresholds?t<this.thresholds.low?"text-red-700":t<this.thresholds.high?"text-yellow-600":"text-green-700":""}};jn.styles=[bt],Tn([ut()],jn.prototype,"model",void 0),Tn([ut()],jn.prototype,"currentPath",void 0),Tn([ut({type:Array})],jn.prototype,"columns",void 0),Tn([ut()],jn.prototype,"thresholds",void 0),jn=Tn([lt("mte-metrics-table")],jn);var Fn=r(5110),zn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let On=class extends kr{constructor(){super(...arguments),this.filters=[],this.lines=[],this.enabledStates=[],this.tests=[],this.filtersChanged=t=>{this.enabledStates=t.detail,this.selectedTest&&!this.enabledStates.includes(this.selectedTest.status)&&this.toggleTest(this.selectedTest)},this.nextTest=()=>{const t=this.selectedTest?(this.tests.findIndex((({id:t})=>t===this.selectedTest.id))+1)%this.tests.length:0;this.selectTest(this.tests[t])},this.previousTest=()=>{const t=this.selectedTest?(this.tests.findIndex((({id:t})=>t===this.selectedTest.id))+this.tests.length-1)%this.tests.length:this.tests.length-1;this.selectTest(this.tests[t])}}toggleTest(t){this.selectedTest===t?(this.selectedTest=void 0,this.dispatchEvent(Ge("test-selected",{selected:!1,test:t}))):(this.selectedTest=t,this.dispatchEvent(Ge("test-selected",{selected:!0,test:t})),fr(this.shadowRoot.querySelector(`[test-id="${t.id}"]`)))}selectTest(t){t&&this.toggleTest(t)}render(){return L`
      <mte-state-filter
        @next=${this.nextTest}
        @previous=${this.previousTest}
        .filters="${this.filters}"
        @filters-changed="${this.filtersChanged}"
      ></mte-state-filter>
      ${this.renderTestList()} ${this.renderCode()}
    `}renderTestList(){const t=this.tests.filter((t=>!t.location));return t.length?L`<ul class="max-w-6xl">
        ${cn(t,(t=>t.id),(t=>L`<li class="my-3">
              <button
                class="w-full rounded p-3 text-left hover:bg-gray-100 active:bg-gray-200"
                type="button"
                data-active="${this.selectedTest===t}"
                test-id="${t.id}"
                @click=${e=>{e.stopPropagation(),this.toggleTest(t)}}
                >${lr(t.status)} ${t.name} [${t.status}]
              </button>
            </li>`))}
      </ul>`:U}renderCode(){if(this.model?.source){const t=new Map;for(const e of this.tests)if(e.location){let r=t.get(e.location.start.line);r||(r=[],t.set(e.location.start.line,r)),r.push(e)}const e=e=>this.renderTestDots([...t.entries()].filter((([t])=>t>e)).flatMap((([,t])=>t)));return L`<pre id="report-code-block" class="line-numbers flex rounded-md p-1"><code class="flex language-${Kr(this.model.name)}">
      <table>
        ${this.lines.map(((r,n)=>{const i=n+1;return tn(r,Xr(this.renderTestDots(t.get(i)),this.lines.length===i?e(i):U))}))}</table></code></pre>`}return U}renderTestDots(t){return t?.length?t.map((t=>D`<svg test-id="${t.id}" class="cursor-pointer test-dot ${this.selectedTest===t?"selected":t.status}" @click=${e=>{e.stopPropagation(),this.toggleTest(t)}} height="10" width="12">
          <title>${function(t){return`${t.name} (${t.status})`}(t)}</title>
          <circle cx="5" cy="5" r="5" />
          </svg>`)):U}reactivate(){super.reactivate(),this.updateFileRepresentation()}willUpdate(t){t.has("model")&&this.updateFileRepresentation(),(t.has("model")||t.has("enabledStates"))&&this.model&&(this.tests=this.model.tests.filter((t=>this.enabledStates.includes(t.status))).sort(((t,e)=>t.location&&e.location?Gr(t.location.start,e.location.start)?1:-1:this.model.tests.indexOf(t)-this.model.tests.indexOf(e)))),super.update(t)}updateFileRepresentation(){if(!this.model)return;const t=this.model;this.filters=[pt.ih.Killing,pt.ih.Covering,pt.ih.NotCovering].filter((e=>t.tests.some((t=>t.status===e)))).map((e=>({enabled:!0,count:t.tests.filter((t=>t.status===e)).length,status:e,label:L`${lr(e)} ${e}`,context:ar(e)}))),this.model.source&&(this.lines=Vr(qr(this.model.source,this.model.name)))}};On.styles=[yt,bt,s(Fn.Z)],zn([ut()],On.prototype,"model",void 0),zn([dt()],On.prototype,"filters",void 0),zn([dt()],On.prototype,"lines",void 0),zn([dt()],On.prototype,"enabledStates",void 0),zn([dt()],On.prototype,"selectedTest",void 0),zn([dt()],On.prototype,"tests",void 0),On=zn([lt("mte-test-file")],On);var Rn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};const Nn=t=>L`<code>${t.getMutatedLines()}</code> (${pr(t)})`;let Bn=class extends kr{constructor(){super(...arguments),this.mode="closed"}render(){return bn({hasDetail:Boolean(this.test?.killedMutants?.length||this.test?.coveredMutants?.length),mode:this.mode},or(this.test,(t=>L`
          <span class="align-middle text-lg" slot="header"
            >${lr(t.status)} ${t.name} [${t.status}]
            ${t.location?L`(${t.location.start.line}:${t.location.start.column})`:U}</span
          >
          <span slot="summary">${this.renderSummary()}</span>
          <span class="block" slot="detail">${this.renderDetail()}</span>
        `)))}renderSummary(){return Xe(L`${this.test?.killedMutants?.[0]?Qe(L`${tr("🎯","killed")} Killed:
            ${Nn(this.test.killedMutants?.[0])}${this.test.killedMutants.length>1?L` (and ${this.test.killedMutants.length-1} more)`:""}`):U}
      ${or(this.test?.coveredMutants,(t=>Qe(L`${tr("☂️","umbrella")} Covered ${t.length}
          mutant${hr(t)}${this.test?.status===pt.ih.Covering?" (yet didn't kill any of them)":""}`)))}`)}renderDetail(){return L`<ul class="mb-6 mr-12">
      ${this.test?.killedMutants?.map((t=>Je("This test killed this mutant",L`${tr("🎯","killed")} ${Nn(t)}`)))}
      ${this.test?.coveredMutants?.filter((t=>!this.test?.killedMutants?.includes(t))).map((t=>Je("This test covered this mutant",L`${tr("☂️","umbrella")} ${Nn(t)}`)))}
    </ul>`}};Bn.styles=[bt],Rn([ut()],Bn.prototype,"test",void 0),Rn([ut({reflect:!0})],Bn.prototype,"mode",void 0),Bn=Rn([lt("mte-drawer-test")],Bn);var Ln=r(8847),Dn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let In=class extends st{get language(){return Kr(this.fileName)}get isTestFile(){const t=this.fileName.substr(0,this.fileName.lastIndexOf(".")).toLowerCase();return t.endsWith("spec")||t.endsWith("test")}get cssClass(){return Pn({[this.language?.toString()??"unknown"]:this.isFile,test:this.isTestFile})}render(){if(!this.isFile)return D`<svg aria-label="directory" class="octicon octicon-file-directory" viewBox="0 0 14 16" version="1.1" width="14" height="16" role="img"><path fill-rule="evenodd" d="M 13,2 H 7 V 1 C 7,0.34 6.69,0 6,0 H 1 C 0.45,0 0,0.45 0,1 v 10 c 0,0.55 0.45,1 1,1 h 12 c 0.55,0 1,-0.45 1,-1 V 3 C 14,2.45 13.55,2 13,2 Z M 6,2 H 1 V 1 h 5 z" id="path2" /></svg>`;if(!this.language)return D`<svg aria-label="file" class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" role="img"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"></path></svg>`;switch(this.language){case Hr.csharp:return D`<svg class="${this.cssClass}" aria-label="cs" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><g><path d="M7.1 15.9c0-1.3.2-2.4.6-3.4.4-1 .9-1.8 1.6-2.5.7-.7 1.5-1.2 2.4-1.6s1.9-.5 2.9-.5 1.9.2 2.7.6c.8.4 1.5.9 2 1.4l-2.2 2.5c-.4-.3-.7-.6-1.1-.7-.4-.1-.8-.3-1.4-.3-.5 0-.9.1-1.3.3-.4.2-.8.5-1.1.9s-.5.8-.7 1.4c-.2.6-.3 1.2-.3 1.9 0 1.5.3 2.6 1 3.3.7.8 1.5 1.2 2.6 1.2.5 0 1-.1 1.4-.3.4-.2.8-.5 1.1-.9l2.2 2.5c-.7.8-1.4 1.3-2.2 1.7-.8.4-1.7.6-2.7.6s-2-.2-2.9-.5-1.7-.8-2.4-1.5-1.1-1.7-1.5-2.7c-.5-.9-.7-2.1-.7-3.4z"/><path d="M21.8 17.1h-1l-.4 2.4h-1.2l.4-2.4h-1.2V16h1.5l.2-1.6h-1.3v-1.1h1.5l.4-2.4h1.2l-.4 2.4h1l.4-2.4h1.2l-.4 2.4H25v1.1h-1.6l-.2 1.6h1.3v1.1h-1.6l-.4 2.4h-1.2c0 .1.5-2.4.5-2.4zm-.8-1h1l.2-1.6h-1l-.2 1.6z"/></g></svg>`;case Hr.html:return D`<svg class="${this.cssClass}" aria-label="html" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M8 15l6-5.6V12l-4.5 4 4.5 4v2.6L8 17v-2zm16 2.1l-6 5.6V20l4.6-4-4.6-4V9.3l6 5.6v2.2z"/></svg>`;case Hr.java:return D`<svg class="${this.cssClass}" aria-label="java" xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 20 20"><path class="cls-1" d="M6 0a6 6 0 1 0 6 6 6 6 0 0 0-6-6zm2.14 6.8a2.16 2.16 0 0 1-2.29 2.41 2.5 2.5 0 0 1-2-.87l.73-.92a1.52 1.52 0 0 0 1.23.59c.66 0 1.06-.42 1.06-1.32V2.8h1.26z"/></svg>`;case Hr.javascript:return D`<svg class="${this.cssClass}" aria-label="js" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path  d="M11.4 10h2.7v7.6c0 3.4-1.6 4.6-4.3 4.6-.6 0-1.5-.1-2-.3l.3-2.2c.4.2.9.3 1.4.3 1.1 0 1.9-.5 1.9-2.4V10zm5.1 9.2c.7.4 1.9.8 3 .8 1.3 0 1.9-.5 1.9-1.3s-.6-1.2-2-1.7c-2-.7-3.3-1.8-3.3-3.6 0-2.1 1.7-3.6 4.6-3.6 1.4 0 2.4.3 3.1.6l-.6 2.2c-.5-.2-1.3-.6-2.5-.6s-1.8.5-1.8 1.2c0 .8.7 1.1 2.2 1.7 2.1.8 3.1 1.9 3.1 3.6 0 2-1.6 3.7-4.9 3.7-1.4 0-2.7-.4-3.4-.7l.6-2.3z"/></svg>`;case Hr.typescript:return D`<svg class="${this.cssClass}" aria-label="ts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M15.6 11.8h-3.4V22H9.7V11.8H6.3V10h9.2v1.8zm7.7 7.1c0-.5-.2-.8-.5-1.1-.3-.3-.9-.5-1.7-.8-1.4-.4-2.5-.9-3.3-1.5-.7-.6-1.1-1.3-1.1-2.3 0-1 .4-1.8 1.3-2.4.8-.6 1.9-.9 3.2-.9 1.3 0 2.4.4 3.2 1.1.8.7 1.2 1.6 1.2 2.6h-2.3c0-.6-.2-1-.6-1.4-.4-.3-.9-.5-1.6-.5-.6 0-1.1.1-1.5.4-.4.3-.5.7-.5 1.1 0 .4.2.7.6 1 .4.3 1 .5 2 .8 1.3.4 2.3.9 3 1.5.7.6 1 1.4 1 2.4s-.4 1.9-1.2 2.4c-.8.6-1.9.9-3.2.9-1.3 0-2.5-.3-3.4-1s-1.5-1.6-1.4-2.9h2.4c0 .7.2 1.2.7 1.6.4.3 1.1.5 1.8.5s1.2-.1 1.5-.4c.2-.3.4-.7.4-1.1z"/></svg>`;case Hr.scala:return D`<svg class="${this.cssClass}" aria-label="scala" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M21.6 7v4.2c-.1.1-.1.2-.2.2-.3.3-.7.5-1.1.6-.9.3-1.9.5-2.8.7-1.6.3-3.1.5-4.7.7-.8.1-1.6.2-2.4.4V9.6c.1-.1.2-.1.4-.1 1.2-.2 2.5-.4 3.8-.5 1.9-.3 3.8-.5 5.6-1.1.5-.2 1.1-.4 1.4-.9zm0 5.6v4.2l-.2.2c-.5.4-1.1.6-1.6.8-.8.2-1.6.4-2.4.5-1 .2-1.9.3-2.9.5-1.4.2-2.7.3-4.1.6v-4.2c.1-.1.2-.1.3-.1 1.7-.2 3.4-.5 5.1-.7 1.4-.2 2.9-.5 4.3-.9.6-.2 1.1-.4 1.5-.9zM10.5 25h-.1v-4.2c.1-.1.2-.1.3-.1 1.2-.2 2.3-.3 3.5-.5 2-.3 3.9-.5 5.8-1.1.6-.2 1.2-.4 1.6-.9v4.2c-.1.2-.3.3-.5.5-.6.3-1.2.5-1.9.7-1.2.3-2.5.5-3.7.7-1.3.2-2.6.4-3.9.5-.4 0-.7.1-1.1.2z"/></svg>`;case Hr.php:return D`<svg class="${this.cssClass}" aria-label="php" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M12.7 19.7c-.1-.6-.4-1.1-1-1.3-.2-.1-.5-.3-.7-.4-.3-.1-.6-.2-.8-.3-.2-.1-.4 0-.6.2-.1.2 0 .4.1.5.1.2.2.3.4.5.2.3.4.5.7.8.2.3.4.5.3.9-.1.7-.4 1.4-.9 1.9-.1.1-.2.1-.2.1-.3 0-.7-.2-.9-.4-.3-.3-.2-.6.1-.8.1 0 .2-.1.2-.2.2-.2.3-.4.2-.7-.1-.1-.1-.2-.2-.3-.4-.4-.9-.8-1.4-1.2-1.3-1-1.9-2.2-2-3.6-.1-1.6.3-3.1 1.1-4.5.3-.5.7-1 1.3-1.3.4-.2.8-.3 1.2-.4 1.1-.3 2.3-.5 3.5-.3 1 .2 1.8.7 2.1 1.7.2.7.3 1.3.2 2-.1 1.4-1.2 2.6-2.5 3-.6.2-.9.1-1.2-.4-.2-.3-.5-.7-.7-1.1V14c0-.1-.1-.1-.1-.2.1.6.2 1.2.5 1.7.2.3.4.5.8.5 1.3.1 2.3-.3 3.1-1.3.8-1.1 1-2.4.8-3.8 0-.3-.1-.5-.2-.8 0-.2 0-.3.2-.4.1 0 .2 0 .2-.1 1-.2 2.1-.3 3.1-.2 1.2.1 2.3.4 3.3 1.1 1.6 1 2.6 2.5 3.1 4.3.1.3.1.5.1.8 0 .2-.1.2-.3.1-.2-.1-.3-.3-.4-.4-.1-.1-.2-.3-.3-.4-.1-.1-.2-.1-.2 0s-.1.2-.1.3c-.3 1-.7 1.9-1.4 2.6-.1.1-.2.3-.2.4 0 .4-.1.8 0 1.2.1.8.2 1.7.3 2.5.1.5-.1.7-.5.9-.3.1-.6.2-1 .2h-1.6c0-.6 0-1.2-.5-1.5.1-.4.2-.8.3-1.3.1-.4 0-.7-.2-1-.2-.3-.5-.3-.8-.2-.8.5-1.6.5-2.5.2-.4-.1-.7-.1-.9.3-.2.4-.3.8-.3 1.2 0 .5.1 1.1.2 1.6 0 .3 0 .4-.3.5-.7.2-1.4.2-2 .1h-.1c0-.6 0-1.2-.7-1.5.4-.4.4-1.1.3-1.7zm-4.1-2.3c.1-.1.2-.2.2-.4.1-.3-.2-.8-.5-.9-.2-.1-.3 0-.4.1-.3.3-.5.6-.8.9 0 .1-.1.1-.1.2-.1.2 0 .4.2.4.1 0 .3 0 .4.1.4 0 .7-.1 1-.4zm0-3.3c0-.2-.2-.4-.4-.4s-.5.2-.4.5c0 .2.2.4.5.4.1-.1.3-.3.3-.5z"/></svg>`;case Hr.vue:return D`<svg class="${this.cssClass}" aria-label="vue" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1000"><path d="M600 495.9l159.1-275.4h-84.4L600 349.7l-74.6-129.2h-84.5z"/><path d="M793.7 220.5L600 555.9 406.3 220.5H277l323 559 323-559z"/></svg>`;case Hr.gherkin:return D`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M16.129,2a12.348,12.348,0,0,0-2.35,24.465V30c7.371-1.114,13.9-6.982,14.384-14.684a12.8,12.8,0,0,0-5.9-11.667c-.223-.132-.449-.262-.682-.377s-.481-.231-.729-.33c-.079-.033-.156-.063-.235-.094-.216-.08-.435-.17-.658-.236A12.188,12.188,0,0,0,16.129,2Z" style="fill:var(--mut-file-gherkin-color)"/><path d="M18.68,6.563a1.345,1.345,0,0,0-1.178.472,5.493,5.493,0,0,0-.518.9,2.9,2.9,0,0,0,.377,3.023A3.317,3.317,0,0,0,19.763,9,2.388,2.388,0,0,0,20,8,1.411,1.411,0,0,0,18.68,6.563Zm-5.488.071A1.441,1.441,0,0,0,11.85,8,2.388,2.388,0,0,0,12.085,9a3.427,3.427,0,0,0,2.473,1.96,3.141,3.141,0,0,0-.212-3.85,1.322,1.322,0,0,0-1.154-.472Zm-3.7,3.637a1.3,1.3,0,0,0-.73,2.338,5.663,5.663,0,0,0,.895.543,3.386,3.386,0,0,0,3.179-.307,3.492,3.492,0,0,0-2.049-2.338,2.69,2.69,0,0,0-1.06-.236,1.369,1.369,0,0,0-.236,0Zm11.611,4.582a3.44,3.44,0,0,0-1.955.567A3.492,3.492,0,0,0,21.2,17.758a2.69,2.69,0,0,0,1.06.236,1.329,1.329,0,0,0,.966-2.362,5.47,5.47,0,0,0-.895-.52,3.247,3.247,0,0,0-1.225-.26Zm-10.292.071a3.247,3.247,0,0,0-1.225.26,2.575,2.575,0,0,0-.895.543A1.34,1.34,0,0,0,9.73,18.065a2.426,2.426,0,0,0,1.06-.236,3.185,3.185,0,0,0,1.955-2.338,3.366,3.366,0,0,0-1.931-.567Zm3.815,2.314a3.317,3.317,0,0,0-2.4,1.96,2.286,2.286,0,0,0-.236.968,1.4,1.4,0,0,0,2.426.992,5.492,5.492,0,0,0,.518-.9,3.109,3.109,0,0,0-.306-3.023Zm2.8.071a3.141,3.141,0,0,0,.212,3.85,1.47,1.47,0,0,0,2.5-.9,2.388,2.388,0,0,0-.236-.992,3.427,3.427,0,0,0-2.473-1.96Z" style="fill:#fff"/></svg>`}}};In.styles=[s(Ln.Z)],Dn([ut({attribute:"file-name"})],In.prototype,"fileName",void 0),Dn([ut({attribute:"file",type:Boolean})],In.prototype,"isFile",void 0),In=Dn([lt("mte-file-icon")],In);var Un=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s};let Hn=class extends st{render(){return L`<span class="cursor-help underline decoration-dotted" title="${this.title}"><slot></slot></span>`}};Hn.styles=[bt],Un([ut({attribute:!0})],Hn.prototype,"title",void 0),Hn=Un([lt("mte-tooltip")],Hn);var Zn,Kn,qn,Vn,Wn,Gn,Yn,Jn,Qn,Xn=function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s},ti=function(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};let ei=class extends st{constructor(){super(),Zn.add(this),this.detected=0,this.undetected=0,this.invalid=0,this.ignored=0,this.pending=0,this.total=0,this.shouldBeSmall=!1,Kn.set(this,void 0)}connectedCallback(){super.connectedCallback(),function(t,e,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?i.call(t,r):i?i.value=r:e.set(t,r)}(this,Kn,new window.IntersectionObserver((([t])=>{t.isIntersecting?this.shouldBeSmall=!1:this.shouldBeSmall=!0,this.requestUpdate()})),"f"),ti(this,Kn,"f").observe(this)}disconnectedCallback(){super.disconnectedCallback(),ti(this,Kn,"f")?.disconnect()}render(){return L`
      ${ti(this,Zn,"m",qn).call(this)}
      <div class="my-4 rounded-md border border-gray-200 bg-white transition-all">
        <div class="relative">
          <div class="parts flex h-8 w-full overflow-hidden rounded bg-gray-200">${ti(this,Zn,"m",Wn).call(this)}</div>
        </div>
      </div>
    `}};Kn=new WeakMap,Zn=new WeakSet,qn=function(){return L`<div
      class="${this.shouldBeSmall?"opacity-1":"opacity-0"} pointer-events-none fixed left-0 top-0 z-20 flex w-full justify-center transition-all"
    >
      <div class="container w-full bg-white py-2">
        <div class="flex h-2 overflow-hidden rounded bg-gray-200">${ti(this,Zn,"m",Yn).call(this).map((t=>ti(this,Zn,"m",Vn).call(this,t)))}</div>
      </div>
    </div>`},Vn=function(t){return L`<div
      class="${ti(this,Zn,"m",Jn).call(this,t.type)} z-20 h-2 transition-all"
      style="width: ${ti(this,Zn,"m",Qn).call(this,t.amount)}%"
    ></div>`},Wn=function(){return L`${ti(this,Zn,"m",Yn).call(this).map((t=>ti(this,Zn,"m",Gn).call(this,t)))}`},Gn=function(t){return L`<div
      title="${t.tooltip}"
      style="width: ${ti(this,Zn,"m",Qn).call(this,t.amount)}%"
      class="${ti(this,Zn,"m",Jn).call(this,t.type)} ${0===t.amount?"opacity-0":""} relative flex h-8 items-center overflow-hidden transition-all"
    >
      <span class="ms-3 font-bold text-gray-800">${t.amount}</span>
    </div>`},Yn=function(){return[{type:"detected",amount:this.detected,tooltip:"killed + timeout"},{type:"undetected",amount:this.undetected,tooltip:"survived + no coverage"},{type:"ignored + invalid",amount:this.ignored+this.invalid,tooltip:"ignored + runtime error + compile error"},{type:"pending",amount:this.pending,tooltip:"pending"}]},Jn=function(t){switch(t){case"detected":return"bg-green-600";case"undetected":return"bg-red-600";case"ignored + invalid":return"bg-yellow-600";default:return"bg-gray-200"}},Qn=function(t){return 0!==this.total?100*t/this.total:0},ei.styles=[bt],Xn([ut({attribute:!1})],ei.prototype,"detected",void 0),Xn([ut({attribute:!1})],ei.prototype,"undetected",void 0),Xn([ut({attribute:!1})],ei.prototype,"invalid",void 0),Xn([ut({attribute:!1})],ei.prototype,"ignored",void 0),Xn([ut({attribute:!1})],ei.prototype,"pending",void 0),Xn([ut({attribute:!1})],ei.prototype,"total",void 0),Xn([dt()],ei.prototype,"shouldBeSmall",void 0),ei=Xn([lt("mte-result-status-bar")],ei)}()}();</script>
    </head>
    <body>
        <mutation-test-report-app title-postfix="Stryker.NET Report" sse="http://localhost:44126/">
            Your browser doesn't support <a href="https://caniuse.com/#search=custom%20elements">custom elements</a>.
            Please use a latest version of an evergreen browser (Firefox, Chrome, Safari, Opera, etc).
        </mutation-test-report-app>
        <script>
            const app = document.querySelector('mutation-test-report-app');

            app.report = {"schemaVersion":"2","thresholds":{"high":90,"low":75},"projectRoot":"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api","files":{"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Configuration\\HostingExtensions.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Builder;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing Serilog;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Configuration;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Configuration.Captcha;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Configuration.Serilog;\r\nusing TaskoMask.Services.Identity.Api.Consumers;\r\nusing TaskoMask.Services.Identity.Infrastructure.CrossCutting.DI;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Configuration\r\n{\r\n    internal static class HostingExtensions\r\n    {\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static WebApplication ConfigureServices(this WebApplicationBuilder builder)\r\n        {\r\n\r\n            builder.AddCustomSerilog();\r\n\r\n            builder.Services.AddRazorPagesPreConfigured();\r\n\r\n            builder.Services.AddModules(builder.Configuration, consumerAssemblyMarkerType:typeof(OwnerRegisteredConsumer));\r\n\r\n            builder.Services.AddIdentityServer();\r\n            \r\n            builder.Services.AddControllers();\r\n\r\n            builder.Services.AddCaptcha();\r\n\r\n            return builder.Build();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static WebApplication ConfigurePipeline(this WebApplication app)\r\n        {\r\n\r\n            app.UseSerilogRequestLogging();\r\n\r\n            app.UseIdentityServer();\r\n\r\n            app.UseRazorPagesPreConfigured(app.Environment);\r\n\r\n            app.Services.InitialDatabasesAndSeedEssentialData();\r\n\r\n            app.MapRazorPages().RequireAuthorization();\r\n\r\n            app.MapControllers();\r\n\r\n            return app;\r\n        }\r\n    }\r\n}","mutants":[{"id":"0","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":20,"column":9},"end":{"line":35,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"1","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":22,"column":13},"end":{"line":22,"column":40}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"2","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":24,"column":13},"end":{"line":24,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"3","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":26,"column":13},"end":{"line":26,"column":124}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"4","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":28,"column":13},"end":{"line":28,"column":50}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"5","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":30,"column":13},"end":{"line":30,"column":47}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"6","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":32,"column":13},"end":{"line":32,"column":43}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"7","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":43,"column":9},"end":{"line":58,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"8","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":45,"column":13},"end":{"line":45,"column":44}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"9","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":47,"column":13},"end":{"line":47,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"10","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":49,"column":13},"end":{"line":49,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"11","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":51,"column":13},"end":{"line":51,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"12","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":53,"column":13},"end":{"line":53,"column":56}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"13","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":55,"column":13},"end":{"line":55,"column":34}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Configuration\\IdentityServerConfig.cs":{"language":"cs","source":"using Duende.IdentityServer;\r\nusing Duende.IdentityServer.Models;\r\nusing System.Collections.Generic;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Configuration\r\n{\r\n    internal static class IdentityServerConfig\r\n    {\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static IEnumerable\u003CIdentityResource\u003E IdentityResources =\u003E new IdentityResource[]\r\n        {\r\n            new IdentityResources.OpenId(),\r\n            new IdentityResources.Profile(),\r\n        };\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static IEnumerable\u003CApiScope\u003E ApiScopes =\u003E new ApiScope[]\r\n        {\r\n           ApiScopesConfig.Owners_Read,\r\n           ApiScopesConfig.Owners_Write,\r\n           ApiScopesConfig.Boards_Read,\r\n           ApiScopesConfig.Boards_Write,\r\n           ApiScopesConfig.Tasks_Read,\r\n           ApiScopesConfig.Tasks_Write,\r\n        };\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static IEnumerable\u003CApiResource\u003E ApiResources =\u003E new ApiResource[]\r\n        {\r\n           ApiResourcesConfig.Owners_Api,\r\n           ApiResourcesConfig.Boards_Api,\r\n           ApiResourcesConfig.Tasks_Api,\r\n           ApiResourcesConfig.Aggregator_Api\r\n        };\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static IEnumerable\u003CClient\u003E Clients =\u003E new Client[]\r\n        {\r\n            ClientsConfig.UserPanel,\r\n        };\r\n    }\r\n\r\n\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    static class ApiResourcesConfig\r\n    {\r\n\r\n        public static ApiResource Owners_Api =\u003E new(\u0022owners.api\u0022, \u0022Owners Api\u0022)\r\n        {\r\n            Scopes = { ApiScopesConfig.Owners_Read.Name, ApiScopesConfig.Owners_Write.Name }\r\n        };\r\n\r\n\r\n        public static ApiResource Boards_Api =\u003E new(\u0022boards.api\u0022, \u0022Boards Api\u0022)\r\n        {\r\n            Scopes = { ApiScopesConfig.Boards_Read.Name, ApiScopesConfig.Boards_Write.Name }\r\n        };\r\n\r\n        public static ApiResource Tasks_Api =\u003E new(\u0022tasks.api\u0022, \u0022Tasks Api\u0022)\r\n        {\r\n            Scopes = { ApiScopesConfig.Tasks_Read.Name, ApiScopesConfig.Tasks_Write.Name }\r\n        };\r\n\r\n\r\n        public static ApiResource Aggregator_Api =\u003E new(\u0022aggregator.api\u0022, \u0022UserPanel ApiGateway Aggregator Api\u0022)\r\n        {\r\n            Scopes = { ApiScopesConfig.Owners_Read.Name, ApiScopesConfig.Boards_Read.Name, ApiScopesConfig.Tasks_Read.Name }\r\n        };\r\n    }\r\n\r\n\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    static class ClientsConfig\r\n    {\r\n\r\n        public static Client UserPanel =\u003E new()\r\n        {\r\n            ClientId = \u0022UserPanel\u0022,\r\n            AllowedGrantTypes = GrantTypes.Code,\r\n            RequirePkce = true,\r\n            RequireClientSecret = false,\r\n            AllowedCorsOrigins = { \u0022https://localhost:5011\u0022 },\r\n            AllowedScopes =\r\n            {\r\n                IdentityServerConstants.StandardScopes.OpenId,\r\n                IdentityServerConstants.StandardScopes.Profile,\r\n                ApiScopesConfig.Owners_Read.Name,\r\n                ApiScopesConfig.Owners_Write.Name,\r\n                ApiScopesConfig.Boards_Read.Name,\r\n                ApiScopesConfig.Boards_Write.Name,\r\n                ApiScopesConfig.Tasks_Read.Name,\r\n                ApiScopesConfig.Tasks_Write.Name,\r\n            },\r\n            RedirectUris = { \u0022https://localhost:5011/authentication/login-callback/\u0022 },\r\n            PostLogoutRedirectUris = { \u0022https://localhost:5011/authentication/logout-callback/\u0022 },\r\n            ClientUri = \u0022https://localhost:5011\u0022\r\n        };\r\n    }\r\n\r\n\r\n\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    static class ApiScopesConfig\r\n    {\r\n\r\n        public static ApiScope Owners_Read =\u003E new(name: \u0022owners.read\u0022, displayName: \u0022Owners Read APIs\u0022);\r\n        public static ApiScope Owners_Write =\u003E new(name: \u0022owners.write\u0022, displayName: \u0022Owners Write APIs\u0022);\r\n\r\n\r\n        public static ApiScope Boards_Read =\u003E new(name: \u0022boards.read\u0022, displayName: \u0022Boards Read APIs\u0022);\r\n        public static ApiScope Boards_Write =\u003E new(name: \u0022boards.write\u0022, displayName: \u0022Boards Write APIs\u0022);\r\n\r\n\r\n        public static ApiScope Tasks_Read =\u003E new(name: \u0022tasks.read\u0022, displayName: \u0022Tasks Read APIs\u0022);\r\n        public static ApiScope Tasks_Write =\u003E new(name: \u0022tasks.write\u0022, displayName: \u0022Tasks Write APIs\u0022);\r\n    }\r\n\r\n}","mutants":[{"id":"14","mutatorName":"Array initializer mutation","replacement":"new IdentityResource[]\r\n{}","location":{"start":{"line":14,"column":74},"end":{"line":18,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"15","mutatorName":"Array initializer mutation","replacement":"new ApiScope[]\r\n{}","location":{"start":{"line":25,"column":58},"end":{"line":33,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"16","mutatorName":"Array initializer mutation","replacement":"new ApiResource[]\r\n{}","location":{"start":{"line":40,"column":64},"end":{"line":46,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"17","mutatorName":"Array initializer mutation","replacement":"new Client[]\r\n{}","location":{"start":{"line":53,"column":54},"end":{"line":56,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"18","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":67,"column":53},"end":{"line":67,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"19","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":67,"column":67},"end":{"line":67,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"20","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":73,"column":53},"end":{"line":73,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"21","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":73,"column":67},"end":{"line":73,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"22","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":78,"column":52},"end":{"line":78,"column":63}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"23","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":78,"column":65},"end":{"line":78,"column":76}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"24","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":84,"column":57},"end":{"line":84,"column":73}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"25","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":84,"column":75},"end":{"line":84,"column":112}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"26","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":100,"column":24},"end":{"line":100,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"27","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":102,"column":27},"end":{"line":102,"column":31}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"28","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":103,"column":35},"end":{"line":103,"column":40}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"29","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":104,"column":36},"end":{"line":104,"column":60}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"30","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":116,"column":30},"end":{"line":116,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"31","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":117,"column":40},"end":{"line":117,"column":96}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"32","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":118,"column":25},"end":{"line":118,"column":49}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"33","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":131,"column":57},"end":{"line":131,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"34","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":131,"column":85},"end":{"line":131,"column":103}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"35","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":132,"column":58},"end":{"line":132,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"36","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":132,"column":87},"end":{"line":132,"column":106}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"37","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":135,"column":57},"end":{"line":135,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"38","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":135,"column":85},"end":{"line":135,"column":103}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"39","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":136,"column":58},"end":{"line":136,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"40","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":136,"column":87},"end":{"line":136,"column":106}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"41","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":139,"column":56},"end":{"line":139,"column":68}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"42","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":139,"column":83},"end":{"line":139,"column":100}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"43","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":140,"column":57},"end":{"line":140,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"44","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":140,"column":85},"end":{"line":140,"column":103}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Configuration\\IdentityServerExtensions.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Authentication;\r\nusing Microsoft.AspNetCore.Http;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Configuration\r\n{\r\n    internal static class IdentityServerExtensions\r\n    {\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void AddIdentityServer(this IServiceCollection services )\r\n        {\r\n            services.AddIdentityServer(options =\u003E\r\n                {\r\n                    options.Events.RaiseErrorEvents = true;\r\n                    options.Events.RaiseInformationEvents = true;\r\n                    options.Events.RaiseFailureEvents = true;\r\n                    options.Events.RaiseSuccessEvents = true;\r\n\r\n                    // see https://docs.duendesoftware.com/identityserver/v6/fundamentals/resources/\r\n                    options.EmitStaticAudienceClaim = true;\r\n                })\r\n                .AddInMemoryIdentityResources(IdentityServerConfig.IdentityResources)\r\n                .AddInMemoryApiScopes(IdentityServerConfig.ApiScopes)\r\n                .AddInMemoryApiResources(IdentityServerConfig.ApiResources)\r\n                .AddInMemoryClients(IdentityServerConfig.Clients)\r\n                .AddAspNetIdentity\u003CUser\u003E();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// Determines if the authentication scheme support signout.\r\n        /// \u003C/summary\u003E\r\n        public static async Task\u003Cbool\u003E GetSchemeSupportsSignOut(this HttpContext context, string scheme)\r\n        {\r\n            var provider = context.RequestServices.GetRequiredService\u003CIAuthenticationHandlerProvider\u003E();\r\n            var handler = await provider.GetHandlerAsync(context, scheme);\r\n            return (handler is IAuthenticationSignOutHandler);\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"45","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":16,"column":9},"end":{"line":32,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"46","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":17,"column":13},"end":{"line":31,"column":44}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"47","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":18,"column":17},"end":{"line":26,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"48","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":19,"column":55},"end":{"line":19,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"49","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":20,"column":61},"end":{"line":20,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"50","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":21,"column":57},"end":{"line":21,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"51","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":22,"column":57},"end":{"line":22,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"52","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":25,"column":55},"end":{"line":25,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"53","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":40,"column":9},"end":{"line":44,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Consumers\\OwnerProfileUpdatedConsumer.cs":{"language":"cs","source":"using MassTransit;\r\nusing TaskoMask.BuildingBlocks.Application.Bus;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Consumers;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Exceptions;\r\nusing TaskoMask.BuildingBlocks.Contracts.Events;\r\nusing TaskoMask.Services.Identity.Application.UseCases.UpdateUser;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Consumers\r\n{\r\n    /// \u003Csummary\u003E\r\n    /// After registering an owner, we must register a user for that owner to handle its identity (login,logout,etc)\r\n    /// \u003C/summary\u003E\r\n    public class OwnerProfileUpdatedConsumer : BaseConsumer\u003COwnerProfileUpdated\u003E\r\n    {\r\n\r\n\r\n        public OwnerProfileUpdatedConsumer(IInMemoryBus requestDispatcher) : base(requestDispatcher)\r\n        {\r\n        }\r\n\r\n\r\n        public override async Task ConsumeMessage(ConsumeContext\u003COwnerProfileUpdated\u003E context)\r\n        {\r\n            var registerUser = new UpdateUserRequest(context.Message.OldEmail, context.Message.NewEmail);\r\n            var result = await _requestDispatcher.SendCommand(registerUser);\r\n            if (!result.IsSuccess)\r\n                throw new MessageConsumerFaultException(result.Message); // Cause to publish Fault\u003COwnerProfileUpdated\u003E message\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"54","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":24,"column":9},"end":{"line":29,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"55","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"result.IsSuccess","location":{"start":{"line":27,"column":17},"end":{"line":27,"column":34}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"56","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":28,"column":17},"end":{"line":28,"column":73}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Consumers\\OwnerRegisteredConsumer.cs":{"language":"cs","source":"using MassTransit;\r\nusing TaskoMask.BuildingBlocks.Application.Bus;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Consumers;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Exceptions;\r\nusing TaskoMask.Services.Identity.Application.UseCases.RegisterUser;\r\nusing TaskoMask.BuildingBlocks.Contracts.Events;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Consumers\r\n{\r\n    /// \u003Csummary\u003E\r\n    /// After registering an owner, we must register a user for that owner to handle its identity (login,logout,etc)\r\n    /// \u003C/summary\u003E\r\n    public class OwnerRegisteredConsumer : BaseConsumer\u003COwnerRegistered\u003E\r\n    {\r\n\r\n\r\n        public OwnerRegisteredConsumer(IInMemoryBus requestDispatcher) : base(requestDispatcher)\r\n        {\r\n        }\r\n\r\n\r\n        public override async Task ConsumeMessage(ConsumeContext\u003COwnerRegistered\u003E context)\r\n        {\r\n            var registerUser = new RegisterUserRequest(context.Message.Id, context.Message.Email, context.Message.Password);\r\n            var result = await _requestDispatcher.SendCommand(registerUser);\r\n            if (!result.IsSuccess)\r\n                throw new MessageConsumerFaultException(result.Message); // Cause to publish Fault\u003COwnerRegistered\u003E message\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"57","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":24,"column":9},"end":{"line":29,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"58","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"result.IsSuccess","location":{"start":{"line":27,"column":17},"end":{"line":27,"column":34}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"59","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":28,"column":17},"end":{"line":28,"column":73}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Domain\\Entities\\User.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\n\r\nnamespace TaskoMask.Services.Identity.Domain.Entities\r\n{\r\n   public class User : IdentityUser\u003Cstring\u003E\r\n    {\r\n        public User(string id)\r\n        {\r\n            Id= id;\r\n        }\r\n\r\n        public bool IsActive { get; set; }\r\n    }\r\n}\r\n","mutants":[{"id":"60","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":8,"column":9},"end":{"line":10,"column":10}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee","b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Domain\\Entities\\UserLogin.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\n\r\nnamespace TaskoMask.Services.Identity.Domain.Entities\r\n{\r\n    public class UserLogin : IdentityUserLogin\u003Cstring\u003E\r\n    {\r\n        public UserLogin()\r\n        {\r\n\r\n        }\r\n    }\r\n}\r\n","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Domain\\Entities\\UserToken.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\n\r\nnamespace TaskoMask.Services.Identity.Domain.Entities\r\n{\r\n    public class UserToken : IdentityUserToken\u003Cstring\u003E\r\n    {\r\n        public UserToken()\r\n        {\r\n            \r\n        }\r\n    }\r\n}\r\n","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Domain\\Events\\UserRegisteredEvent.cs":{"language":"cs","source":"using TaskoMask.BuildingBlocks.Domain.Events;\r\nusing TaskoMask.BuildingBlocks.Domain.Resources;\r\n\r\nnamespace TaskoMask.Services.Identity.Domain.Events\r\n{\r\n    public class UserRegisteredEvent : DomainEvent\r\n    {\r\n        public UserRegisteredEvent(string id, string email) : base(entityId: id, entityType: DomainMetadata.User)\r\n        {\r\n            Id = id;\r\n            Email = email;\r\n        }\r\n\r\n\r\n        public string Id { get; }\r\n        public string Email { get; }\r\n    }\r\n}\r\n","mutants":[{"id":"61","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":9,"column":9},"end":{"line":12,"column":10}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Domain\\Events\\UserUpdatedEvent.cs":{"language":"cs","source":"using TaskoMask.BuildingBlocks.Domain.Events;\r\nusing TaskoMask.BuildingBlocks.Domain.Resources;\r\n\r\nnamespace TaskoMask.Services.Identity.Domain.Events\r\n{\r\n    public class UserUpdatedEvent : DomainEvent\r\n    {\r\n        public UserUpdatedEvent(string id, string email) : base(entityId: id, entityType: DomainMetadata.User)\r\n        {\r\n            Id = id;\r\n            Email = email;\r\n        }\r\n\r\n\r\n        public string Id { get; }\r\n        public string Email { get; }\r\n    }\r\n}\r\n","mutants":[{"id":"62","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":9,"column":9},"end":{"line":12,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\CrossCutting\\AspNetIdentity\\AspNetIdentityExtensions.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\nusing Microsoft.Extensions.Configuration;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\nusing TaskoMask.Services.Identity.Infrastructure.Data.DbContext;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.CrossCutting.AspNetIdentity\r\n{\r\n    internal static class AspNetIdentityExtensions\r\n    {\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void AddAspNetIdentity(this IServiceCollection services, IConfiguration configuration)\r\n        {\r\n            services.AddIdentity\u003CUser, IdentityRole\u003Cstring\u003E\u003E()\r\n                .AddEntityFrameworkStores\u003CIdentityDbContext\u003E()\r\n                .AddDefaultTokenProviders();\r\n\r\n            services.Configure\u003CIdentityOptions\u003E(options =\u003E\r\n            {\r\n                configuration.GetSection(\u0022Identity:Options\u0022).Bind(options);\r\n            });\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"63","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":16,"column":9},"end":{"line":25,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"64","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":17,"column":13},"end":{"line":19,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"65","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":21,"column":13},"end":{"line":24,"column":16}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"66","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":22,"column":13},"end":{"line":24,"column":14}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"67","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":23,"column":17},"end":{"line":23,"column":76}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"68","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":23,"column":42},"end":{"line":23,"column":60}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\CrossCutting\\DI\\ApplicationModule.cs":{"language":"cs","source":"using Microsoft.Extensions.DependencyInjection;\r\nusing TaskoMask.BuildingBlocks.Application.Services;\r\nusing TaskoMask.Services.Identity.Application.UseCases.UpdateUser;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.CrossCutting.DI\r\n{\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    internal static class ApplicationModule\r\n    {\r\n\r\n  \r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void AddApplicationModule(this IServiceCollection services)\r\n        {\r\n            services.AddBuildingBlocksApplication(typeof(UpdateUserValidation\u003C\u003E));\r\n        }\r\n\r\n\r\n    }\r\n}\r\n","mutants":[{"id":"69","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":19,"column":9},"end":{"line":21,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"70","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":20,"column":13},"end":{"line":20,"column":83}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\CrossCutting\\DI\\InfrastructureModule.cs":{"language":"cs","source":"using Microsoft.Extensions.Configuration;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing System;\r\nusing TaskoMask.BuildingBlocks.Infrastructure.Extensions;\r\nusing TaskoMask.BuildingBlocks.Infrastructure.Mapping;\r\nusing TaskoMask.Services.Identity.Application.UseCases.RegisterUser;\r\nusing TaskoMask.Services.Identity.Infrastructure.CrossCutting.AspNetIdentity;\r\nusing TaskoMask.Services.Identity.Infrastructure.CrossCutting.Mapper;\r\nusing TaskoMask.Services.Identity.Infrastructure.Data.DbContext;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.CrossCutting.DI\r\n{\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    public static class InfrastructureModule\r\n    {\r\n\r\n  \r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void AddInfrastructureModule(this IServiceCollection services, IConfiguration configuration,Type consumerAssemblyMarkerType)\r\n        {\r\n            services.AddBuildingBlocksInfrastructure(configuration,consumerAssemblyMarkerType, handlerAssemblyMarkerType:typeof(RegisterUserUseCase));\r\n\r\n            services.AddMapper(typeof(MappingProfile));\r\n\r\n            services.AddDbContext();\r\n\r\n            services.AddAspNetIdentity(configuration);\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void AddDbContext(this IServiceCollection services)\r\n        {\r\n            services.AddDbContext\u003CIdentityDbContext\u003E();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void InitialDatabasesAndSeedEssentialData(this IServiceProvider serviceProvider)\r\n        {\r\n            serviceProvider.InitialDatabase();\r\n            serviceProvider.SeedEssentialData();\r\n        }\r\n\r\n    }\r\n}\r\n","mutants":[{"id":"71","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":25,"column":9},"end":{"line":33,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"72","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":26,"column":13},"end":{"line":26,"column":151}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"73","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":28,"column":13},"end":{"line":28,"column":56}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"74","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":30,"column":13},"end":{"line":30,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"75","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":32,"column":13},"end":{"line":32,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"76","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":41,"column":9},"end":{"line":43,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"77","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":42,"column":13},"end":{"line":42,"column":56}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"78","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":51,"column":9},"end":{"line":54,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"79","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":52,"column":13},"end":{"line":52,"column":47}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"80","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":53,"column":13},"end":{"line":53,"column":49}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\CrossCutting\\DI\\ModuleExtensions.cs":{"language":"cs","source":"\r\nusing Microsoft.Extensions.Configuration;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing System;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.CrossCutting.DI\r\n{\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    public static class ModuleExtensions\r\n    {\r\n\r\n  \r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void AddModules(this IServiceCollection services, IConfiguration configuration, Type consumerAssemblyMarkerType)\r\n        {\r\n            services.AddInfrastructureModule(configuration, consumerAssemblyMarkerType);\r\n\r\n            services.AddApplicationModule();\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"81","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":20,"column":9},"end":{"line":24,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"82","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":21,"column":13},"end":{"line":21,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"83","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":23,"column":13},"end":{"line":23,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\CrossCutting\\Mapper\\MappingProfile.cs":{"language":"cs","source":"using AutoMapper;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.CrossCutting.Mapper\r\n{\r\n    public class MappingProfile : Profile\r\n    {\r\n        public MappingProfile()\r\n        {\r\n        }\r\n    }\r\n}","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\Data\\DbContext\\DbInitialization.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\nusing Microsoft.Extensions.Configuration;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing System;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.Data.DbContext\r\n{\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    public static class DbInitialization\r\n    {\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void InitialDatabase(this IServiceProvider serviceProvider)\r\n        {\r\n            using var serviceScope = serviceProvider.CreateScope();\r\n\r\n            var dbContext = serviceScope.ServiceProvider.GetService\u003CIdentityDbContext\u003E();\r\n\r\n            dbContext.Database.EnsureCreated();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// Seed the necessary data that system needs\r\n        /// \u003C/summary\u003E\r\n        public static void SeedEssentialData(this IServiceProvider serviceProvider)\r\n        {\r\n            using var serviceScope = serviceProvider.CreateScope();\r\n            var configuration = serviceScope.ServiceProvider.GetService\u003CIConfiguration\u003E();\r\n            var userManager = serviceScope.ServiceProvider.GetService\u003CUserManager\u003CUser\u003E\u003E();\r\n\r\n            SeedSuperUser(userManager, configuration).Wait();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public static void DropDatabase(this IServiceProvider serviceProvider) \r\n        {\r\n            using var serviceScope = serviceProvider.CreateScope();\r\n\r\n            var dbContext = serviceScope.ServiceProvider.GetService\u003CIdentityDbContext\u003E();\r\n\r\n            dbContext.Database.EnsureDeleted();\r\n        }\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        private async static Task SeedSuperUser(UserManager\u003CUser\u003E userManager, IConfiguration configuration)\r\n        {\r\n            var superUserEmail = configuration[\u0022Identity:SuperUser:Email\u0022];\r\n            var superUserName = configuration[\u0022Identity:SuperUser:UserName\u0022];\r\n\r\n            if (await userManager.FindByEmailAsync(superUserEmail) == null)\r\n            {\r\n                var superUser = new User(Guid.NewGuid().ToString())\r\n                {\r\n                    UserName = superUserName,\r\n                    Email = superUserEmail,\r\n                    IsActive = true,\r\n                };\r\n\r\n                var password = configuration[\u0022Identity:SuperUser:Password\u0022];\r\n                await userManager.CreateAsync(superUser, password);\r\n            }\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"84","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":22,"column":9},"end":{"line":28,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"85","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":27,"column":13},"end":{"line":27,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"86","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":36,"column":9},"end":{"line":42,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"87","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":41,"column":13},"end":{"line":41,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"88","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":50,"column":9},"end":{"line":56,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"89","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":55,"column":13},"end":{"line":55,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"90","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":63,"column":9},"end":{"line":79,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"91","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":64,"column":48},"end":{"line":64,"column":74}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"92","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":65,"column":47},"end":{"line":65,"column":76}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"93","mutatorName":"Equality mutation","replacement":"await userManager.FindByEmailAsync(superUserEmail) != null","location":{"start":{"line":67,"column":17},"end":{"line":67,"column":75}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"94","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":68,"column":13},"end":{"line":78,"column":14}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"95","mutatorName":"Object initializer mutation","replacement":"new User(Guid.NewGuid().ToString())\r\n{}","location":{"start":{"line":69,"column":33},"end":{"line":74,"column":18}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"96","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":73,"column":32},"end":{"line":73,"column":36}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"97","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":76,"column":46},"end":{"line":76,"column":75}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"98","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":77,"column":17},"end":{"line":77,"column":68}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\Data\\DbContext\\DesignTimeDbContextFactory.cs":{"language":"cs","source":"using Microsoft.EntityFrameworkCore.Design;\r\nusing Microsoft.Extensions.Configuration;\r\nusing System.IO;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.Data.DbContext\r\n{\r\n    /// \u003Csummary\u003E\r\n    /// Only used by EF Tooling\r\n    /// \u003C/summary\u003E\r\n    public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory\u003CIdentityDbContext\u003E\r\n    {\r\n        public IdentityDbContext CreateDbContext(string[] args)\r\n        {\r\n\r\n            var configuration = new ConfigurationBuilder()\r\n                .SetBasePath(Directory.GetCurrentDirectory())\r\n                .AddJsonFile(\u0022appsettings.json\u0022, optional: false, reloadOnChange: true)\r\n                .AddJsonFile(\u0022appsettings.Development.json\u0022, optional: false, reloadOnChange: true)\r\n                .Build();\r\n\r\n            return new IdentityDbContext(configuration);\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"99","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":13,"column":9},"end":{"line":22,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"100","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":17,"column":30},"end":{"line":17,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"101","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":17,"column":60},"end":{"line":17,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"102","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":17,"column":83},"end":{"line":17,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"103","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":18,"column":30},"end":{"line":18,"column":60}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"104","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":18,"column":72},"end":{"line":18,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"105","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":18,"column":95},"end":{"line":18,"column":99}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\Data\\DbContext\\IdentityDbContext.cs":{"language":"cs","source":"using Microsoft.EntityFrameworkCore;\r\nusing Microsoft.AspNetCore.Identity.EntityFrameworkCore;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\nusing Microsoft.Extensions.Configuration;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.Data.DbContext\r\n{\r\n    public class IdentityDbContext : IdentityDbContext\u003CUser, IdentityRole\u003Cstring\u003E, string, IdentityUserClaim\u003Cstring\u003E, IdentityUserRole\u003Cstring\u003E, UserLogin, IdentityRoleClaim\u003Cstring\u003E, UserToken\u003E\r\n    {\r\n        private readonly IConfiguration _configuration;\r\n\r\n        public IdentityDbContext(IConfiguration configuration)\r\n        {\r\n            _configuration = configuration;\r\n        }\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)\r\n        {\r\n            var connection = _configuration.GetValue\u003Cstring\u003E(\u0022SQL:Connection\u0022);\r\n            var databaseName = _configuration.GetValue\u003Cstring\u003E(\u0022SQL:DatabaseName\u0022);\r\n\r\n            optionsBuilder.UseSqlServer(connection.Replace(\u0022[DatabaseName]\u0022, databaseName));\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        protected override void OnModelCreating(ModelBuilder builder)\r\n        {\r\n            base.OnModelCreating(builder);\r\n\r\n            builder.Entity\u003CUser\u003E().ToTable(\u0022Users\u0022);\r\n            builder.Entity\u003CIdentityRole\u003Cstring\u003E\u003E().ToTable(\u0022Roles\u0022);\r\n            builder.Entity\u003CUserToken\u003E().ToTable(\u0022UserTokens\u0022);\r\n            builder.Entity\u003CIdentityUserRole\u003Cstring\u003E\u003E().ToTable(\u0022UserRoles\u0022);\r\n            builder.Entity\u003CIdentityRoleClaim\u003Cstring\u003E\u003E().ToTable(\u0022RoleClaims\u0022);\r\n            builder.Entity\u003CIdentityUserClaim\u003Cstring\u003E\u003E().ToTable(\u0022UserClaims\u0022);\r\n            builder.Entity\u003CUserLogin\u003E().ToTable(\u0022UserLogins\u0022);\r\n\r\n            new UserMapping(builder.Entity\u003CUser\u003E());\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"106","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":14,"column":9},"end":{"line":16,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"107","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":23,"column":9},"end":{"line":28,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"108","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":24,"column":62},"end":{"line":24,"column":78}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"109","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":25,"column":64},"end":{"line":25,"column":82}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"110","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":27,"column":13},"end":{"line":27,"column":93}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"111","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":27,"column":60},"end":{"line":27,"column":76}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"112","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":36,"column":9},"end":{"line":48,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"113","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":37,"column":13},"end":{"line":37,"column":43}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"114","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":39,"column":13},"end":{"line":39,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"115","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":39,"column":44},"end":{"line":39,"column":51}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"116","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":40,"column":13},"end":{"line":40,"column":69}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"117","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":40,"column":60},"end":{"line":40,"column":67}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"118","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":41,"column":13},"end":{"line":41,"column":63}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"119","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":41,"column":49},"end":{"line":41,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"120","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":42,"column":13},"end":{"line":42,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"121","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":42,"column":64},"end":{"line":42,"column":75}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"122","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":43,"column":13},"end":{"line":43,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"123","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":43,"column":65},"end":{"line":43,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"124","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":44,"column":13},"end":{"line":44,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"125","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":44,"column":65},"end":{"line":44,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"126","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":45,"column":13},"end":{"line":45,"column":63}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"127","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":45,"column":49},"end":{"line":45,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"128","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":47,"column":13},"end":{"line":47,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\Data\\EntityMapping\\UserMapping.cs":{"language":"cs","source":"using Microsoft.EntityFrameworkCore.Metadata.Builders;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.Data.DbContext\r\n{\r\n    public class UserMapping\r\n    {\r\n        public UserMapping(EntityTypeBuilder\u003CUser\u003E builder)\r\n        {\r\n            builder.Property(x =\u003E x.Id).ValueGeneratedNever();\r\n        }\r\n    }\r\n    \r\n\r\n}\r\n","mutants":[{"id":"129","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":9,"column":9},"end":{"line":11,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"130","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":10,"column":13},"end":{"line":10,"column":63}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Infrastructure\\Data\\Migrations\\20221005133836_init.cs":{"language":"cs","source":"using Microsoft.EntityFrameworkCore.Migrations;\r\nusing System;\r\n\r\n#nullable disable\r\n\r\nnamespace TaskoMask.Services.Identity.Infrastructure.Data.Migrations\r\n{\r\n    public partial class init : Migration\r\n    {\r\n        protected override void Up(MigrationBuilder migrationBuilder)\r\n        {\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022Roles\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    Id = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    Name = table.Column\u003Cstring\u003E(type: \u0022nvarchar(256)\u0022, maxLength: 256, nullable: true),\r\n                    NormalizedName = table.Column\u003Cstring\u003E(type: \u0022nvarchar(256)\u0022, maxLength: 256, nullable: true),\r\n                    ConcurrencyStamp = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_Roles\u0022, x =\u003E x.Id);\r\n                });\r\n\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022Users\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    Id = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    IsActive = table.Column\u003Cbool\u003E(type: \u0022bit\u0022, nullable: false),\r\n                    UserName = table.Column\u003Cstring\u003E(type: \u0022nvarchar(256)\u0022, maxLength: 256, nullable: true),\r\n                    NormalizedUserName = table.Column\u003Cstring\u003E(type: \u0022nvarchar(256)\u0022, maxLength: 256, nullable: true),\r\n                    Email = table.Column\u003Cstring\u003E(type: \u0022nvarchar(256)\u0022, maxLength: 256, nullable: true),\r\n                    NormalizedEmail = table.Column\u003Cstring\u003E(type: \u0022nvarchar(256)\u0022, maxLength: 256, nullable: true),\r\n                    EmailConfirmed = table.Column\u003Cbool\u003E(type: \u0022bit\u0022, nullable: false),\r\n                    PasswordHash = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    SecurityStamp = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    ConcurrencyStamp = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    PhoneNumber = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    PhoneNumberConfirmed = table.Column\u003Cbool\u003E(type: \u0022bit\u0022, nullable: false),\r\n                    TwoFactorEnabled = table.Column\u003Cbool\u003E(type: \u0022bit\u0022, nullable: false),\r\n                    LockoutEnd = table.Column\u003CDateTimeOffset\u003E(type: \u0022datetimeoffset\u0022, nullable: true),\r\n                    LockoutEnabled = table.Column\u003Cbool\u003E(type: \u0022bit\u0022, nullable: false),\r\n                    AccessFailedCount = table.Column\u003Cint\u003E(type: \u0022int\u0022, nullable: false)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_Users\u0022, x =\u003E x.Id);\r\n                });\r\n\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022RoleClaims\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    Id = table.Column\u003Cint\u003E(type: \u0022int\u0022, nullable: false)\r\n                        .Annotation(\u0022SqlServer:Identity\u0022, \u00221, 1\u0022),\r\n                    RoleId = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    ClaimType = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    ClaimValue = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_RoleClaims\u0022, x =\u003E x.Id);\r\n                    table.ForeignKey(\r\n                        name: \u0022FK_RoleClaims_Roles_RoleId\u0022,\r\n                        column: x =\u003E x.RoleId,\r\n                        principalTable: \u0022Roles\u0022,\r\n                        principalColumn: \u0022Id\u0022,\r\n                        onDelete: ReferentialAction.Cascade);\r\n                });\r\n\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022UserClaims\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    Id = table.Column\u003Cint\u003E(type: \u0022int\u0022, nullable: false)\r\n                        .Annotation(\u0022SqlServer:Identity\u0022, \u00221, 1\u0022),\r\n                    UserId = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    ClaimType = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    ClaimValue = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_UserClaims\u0022, x =\u003E x.Id);\r\n                    table.ForeignKey(\r\n                        name: \u0022FK_UserClaims_Users_UserId\u0022,\r\n                        column: x =\u003E x.UserId,\r\n                        principalTable: \u0022Users\u0022,\r\n                        principalColumn: \u0022Id\u0022,\r\n                        onDelete: ReferentialAction.Cascade);\r\n                });\r\n\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022UserLogins\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    LoginProvider = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    ProviderKey = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    ProviderDisplayName = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true),\r\n                    UserId = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_UserLogins\u0022, x =\u003E new { x.LoginProvider, x.ProviderKey });\r\n                    table.ForeignKey(\r\n                        name: \u0022FK_UserLogins_Users_UserId\u0022,\r\n                        column: x =\u003E x.UserId,\r\n                        principalTable: \u0022Users\u0022,\r\n                        principalColumn: \u0022Id\u0022,\r\n                        onDelete: ReferentialAction.Cascade);\r\n                });\r\n\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022UserRoles\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    UserId = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    RoleId = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_UserRoles\u0022, x =\u003E new { x.UserId, x.RoleId });\r\n                    table.ForeignKey(\r\n                        name: \u0022FK_UserRoles_Roles_RoleId\u0022,\r\n                        column: x =\u003E x.RoleId,\r\n                        principalTable: \u0022Roles\u0022,\r\n                        principalColumn: \u0022Id\u0022,\r\n                        onDelete: ReferentialAction.Cascade);\r\n                    table.ForeignKey(\r\n                        name: \u0022FK_UserRoles_Users_UserId\u0022,\r\n                        column: x =\u003E x.UserId,\r\n                        principalTable: \u0022Users\u0022,\r\n                        principalColumn: \u0022Id\u0022,\r\n                        onDelete: ReferentialAction.Cascade);\r\n                });\r\n\r\n            migrationBuilder.CreateTable(\r\n                name: \u0022UserTokens\u0022,\r\n                columns: table =\u003E new\r\n                {\r\n                    UserId = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    LoginProvider = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    Name = table.Column\u003Cstring\u003E(type: \u0022nvarchar(450)\u0022, nullable: false),\r\n                    Value = table.Column\u003Cstring\u003E(type: \u0022nvarchar(max)\u0022, nullable: true)\r\n                },\r\n                constraints: table =\u003E\r\n                {\r\n                    table.PrimaryKey(\u0022PK_UserTokens\u0022, x =\u003E new { x.UserId, x.LoginProvider, x.Name });\r\n                    table.ForeignKey(\r\n                        name: \u0022FK_UserTokens_Users_UserId\u0022,\r\n                        column: x =\u003E x.UserId,\r\n                        principalTable: \u0022Users\u0022,\r\n                        principalColumn: \u0022Id\u0022,\r\n                        onDelete: ReferentialAction.Cascade);\r\n                });\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022IX_RoleClaims_RoleId\u0022,\r\n                table: \u0022RoleClaims\u0022,\r\n                column: \u0022RoleId\u0022);\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022RoleNameIndex\u0022,\r\n                table: \u0022Roles\u0022,\r\n                column: \u0022NormalizedName\u0022,\r\n                unique: true,\r\n                filter: \u0022[NormalizedName] IS NOT NULL\u0022);\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022IX_UserClaims_UserId\u0022,\r\n                table: \u0022UserClaims\u0022,\r\n                column: \u0022UserId\u0022);\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022IX_UserLogins_UserId\u0022,\r\n                table: \u0022UserLogins\u0022,\r\n                column: \u0022UserId\u0022);\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022IX_UserRoles_RoleId\u0022,\r\n                table: \u0022UserRoles\u0022,\r\n                column: \u0022RoleId\u0022);\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022EmailIndex\u0022,\r\n                table: \u0022Users\u0022,\r\n                column: \u0022NormalizedEmail\u0022);\r\n\r\n            migrationBuilder.CreateIndex(\r\n                name: \u0022UserNameIndex\u0022,\r\n                table: \u0022Users\u0022,\r\n                column: \u0022NormalizedUserName\u0022,\r\n                unique: true,\r\n                filter: \u0022[NormalizedUserName] IS NOT NULL\u0022);\r\n        }\r\n\r\n        protected override void Down(MigrationBuilder migrationBuilder)\r\n        {\r\n            migrationBuilder.DropTable(\r\n                name: \u0022RoleClaims\u0022);\r\n\r\n            migrationBuilder.DropTable(\r\n                name: \u0022UserClaims\u0022);\r\n\r\n            migrationBuilder.DropTable(\r\n                name: \u0022UserLogins\u0022);\r\n\r\n            migrationBuilder.DropTable(\r\n                name: \u0022UserRoles\u0022);\r\n\r\n            migrationBuilder.DropTable(\r\n                name: \u0022UserTokens\u0022);\r\n\r\n            migrationBuilder.DropTable(\r\n                name: \u0022Roles\u0022);\r\n\r\n            migrationBuilder.DropTable(\r\n                name: \u0022Users\u0022);\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"131","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":11,"column":9},"end":{"line":196,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"132","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":12,"column":13},"end":{"line":24,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"133","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":13,"column":23},"end":{"line":13,"column":30}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"134","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":16,"column":53},"end":{"line":16,"column":68}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"135","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":16,"column":80},"end":{"line":16,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"136","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":17,"column":55},"end":{"line":17,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"137","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":17,"column":98},"end":{"line":17,"column":102}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"138","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":18,"column":65},"end":{"line":18,"column":80}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"139","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":18,"column":108},"end":{"line":18,"column":112}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"140","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":19,"column":67},"end":{"line":19,"column":82}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"141","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":19,"column":94},"end":{"line":19,"column":98}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"142","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":22,"column":17},"end":{"line":24,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"143","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":23,"column":21},"end":{"line":23,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"144","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":23,"column":38},"end":{"line":23,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"145","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":26,"column":13},"end":{"line":50,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"146","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":27,"column":23},"end":{"line":27,"column":30}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"147","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":30,"column":53},"end":{"line":30,"column":68}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"148","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":30,"column":80},"end":{"line":30,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"149","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":31,"column":57},"end":{"line":31,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"150","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":31,"column":74},"end":{"line":31,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"151","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":32,"column":59},"end":{"line":32,"column":74}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"152","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":32,"column":102},"end":{"line":32,"column":106}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"153","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":33,"column":69},"end":{"line":33,"column":84}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"154","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":33,"column":112},"end":{"line":33,"column":116}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"155","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":34,"column":56},"end":{"line":34,"column":71}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"156","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":34,"column":99},"end":{"line":34,"column":103}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"157","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":35,"column":66},"end":{"line":35,"column":81}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"158","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":35,"column":109},"end":{"line":35,"column":113}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"159","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":36,"column":63},"end":{"line":36,"column":68}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"160","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":36,"column":80},"end":{"line":36,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"161","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":37,"column":63},"end":{"line":37,"column":78}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"162","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":37,"column":90},"end":{"line":37,"column":94}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"163","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":38,"column":64},"end":{"line":38,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"164","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":38,"column":91},"end":{"line":38,"column":95}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"165","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":39,"column":67},"end":{"line":39,"column":82}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"166","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":39,"column":94},"end":{"line":39,"column":98}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"167","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":40,"column":62},"end":{"line":40,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"168","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":40,"column":89},"end":{"line":40,"column":93}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"169","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":41,"column":69},"end":{"line":41,"column":74}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"170","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":41,"column":86},"end":{"line":41,"column":91}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"171","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":42,"column":65},"end":{"line":42,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"172","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":42,"column":82},"end":{"line":42,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"173","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":43,"column":69},"end":{"line":43,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"174","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":43,"column":97},"end":{"line":43,"column":101}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"175","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":44,"column":63},"end":{"line":44,"column":68}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"176","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":44,"column":80},"end":{"line":44,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"177","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":45,"column":65},"end":{"line":45,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"178","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":45,"column":82},"end":{"line":45,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"179","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":48,"column":17},"end":{"line":50,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"180","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":49,"column":21},"end":{"line":49,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"181","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":49,"column":38},"end":{"line":49,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"182","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":52,"column":13},"end":{"line":71,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"183","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":53,"column":23},"end":{"line":53,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"184","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":56,"column":50},"end":{"line":56,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"185","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":56,"column":67},"end":{"line":56,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"186","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":57,"column":37},"end":{"line":57,"column":57}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"187","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":57,"column":59},"end":{"line":57,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"188","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":58,"column":57},"end":{"line":58,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"189","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":58,"column":84},"end":{"line":58,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"190","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":59,"column":60},"end":{"line":59,"column":75}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"191","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":59,"column":87},"end":{"line":59,"column":91}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"192","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":60,"column":61},"end":{"line":60,"column":76}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"193","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":60,"column":88},"end":{"line":60,"column":92}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"194","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":63,"column":17},"end":{"line":71,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"195","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":64,"column":21},"end":{"line":64,"column":66}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"196","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":64,"column":38},"end":{"line":64,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"197","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":65,"column":21},"end":{"line":70,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"198","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":66,"column":31},"end":{"line":66,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"199","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":68,"column":41},"end":{"line":68,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"200","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":69,"column":42},"end":{"line":69,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"201","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":73,"column":13},"end":{"line":92,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"202","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":74,"column":23},"end":{"line":74,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"203","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":77,"column":50},"end":{"line":77,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"204","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":77,"column":67},"end":{"line":77,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"205","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":78,"column":37},"end":{"line":78,"column":57}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"206","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":78,"column":59},"end":{"line":78,"column":65}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"207","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":79,"column":57},"end":{"line":79,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"208","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":79,"column":84},"end":{"line":79,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"209","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":80,"column":60},"end":{"line":80,"column":75}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"210","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":80,"column":87},"end":{"line":80,"column":91}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"211","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":81,"column":61},"end":{"line":81,"column":76}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"212","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":81,"column":88},"end":{"line":81,"column":92}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"213","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":84,"column":17},"end":{"line":92,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"214","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":85,"column":21},"end":{"line":85,"column":66}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"215","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":85,"column":38},"end":{"line":85,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"216","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":86,"column":21},"end":{"line":91,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"217","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":87,"column":31},"end":{"line":87,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"218","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":89,"column":41},"end":{"line":89,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"219","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":90,"column":42},"end":{"line":90,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"220","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":94,"column":13},"end":{"line":112,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"221","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":95,"column":23},"end":{"line":95,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"222","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":98,"column":64},"end":{"line":98,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"223","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":98,"column":91},"end":{"line":98,"column":96}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"224","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":99,"column":62},"end":{"line":99,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"225","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":99,"column":89},"end":{"line":99,"column":94}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"226","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":100,"column":70},"end":{"line":100,"column":85}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"227","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":100,"column":97},"end":{"line":100,"column":101}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"228","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":101,"column":57},"end":{"line":101,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"229","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":101,"column":84},"end":{"line":101,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"230","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":104,"column":17},"end":{"line":112,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"231","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":105,"column":21},"end":{"line":105,"column":100}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"232","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":105,"column":38},"end":{"line":105,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"233","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":106,"column":21},"end":{"line":111,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"234","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":107,"column":31},"end":{"line":107,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"235","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":109,"column":41},"end":{"line":109,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"236","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":110,"column":42},"end":{"line":110,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"237","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":114,"column":13},"end":{"line":136,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"238","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":115,"column":23},"end":{"line":115,"column":34}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"239","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":118,"column":57},"end":{"line":118,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"240","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":118,"column":84},"end":{"line":118,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"241","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":119,"column":57},"end":{"line":119,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"242","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":119,"column":84},"end":{"line":119,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"243","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":122,"column":17},"end":{"line":136,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"244","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":123,"column":21},"end":{"line":123,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"245","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":123,"column":38},"end":{"line":123,"column":52}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"246","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":124,"column":21},"end":{"line":129,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"247","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":125,"column":31},"end":{"line":125,"column":58}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"248","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":127,"column":41},"end":{"line":127,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"249","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":128,"column":42},"end":{"line":128,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"250","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":130,"column":21},"end":{"line":135,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"251","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":131,"column":31},"end":{"line":131,"column":58}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"252","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":133,"column":41},"end":{"line":133,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"253","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":134,"column":42},"end":{"line":134,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"254","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":138,"column":13},"end":{"line":156,"column":20}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"255","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":139,"column":23},"end":{"line":139,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"256","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":142,"column":57},"end":{"line":142,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"257","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":142,"column":84},"end":{"line":142,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"258","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":143,"column":64},"end":{"line":143,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"259","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":143,"column":91},"end":{"line":143,"column":96}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"260","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":144,"column":55},"end":{"line":144,"column":70}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"261","mutatorName":"Boolean mutation","replacement":"true","location":{"start":{"line":144,"column":82},"end":{"line":144,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"262","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":145,"column":56},"end":{"line":145,"column":71}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"263","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":145,"column":83},"end":{"line":145,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"264","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":148,"column":17},"end":{"line":156,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"265","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":149,"column":21},"end":{"line":149,"column":103}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"266","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":149,"column":38},"end":{"line":149,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"267","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":150,"column":21},"end":{"line":155,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"268","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":151,"column":31},"end":{"line":151,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"269","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":153,"column":41},"end":{"line":153,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"270","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":154,"column":42},"end":{"line":154,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"271","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":158,"column":13},"end":{"line":161,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"272","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":159,"column":23},"end":{"line":159,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"273","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":160,"column":24},"end":{"line":160,"column":36}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"274","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":161,"column":25},"end":{"line":161,"column":33}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"275","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":163,"column":13},"end":{"line":168,"column":57}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"276","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":164,"column":23},"end":{"line":164,"column":38}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"277","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":165,"column":24},"end":{"line":165,"column":31}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"278","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":166,"column":25},"end":{"line":166,"column":41}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"279","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":167,"column":25},"end":{"line":167,"column":29}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"280","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":168,"column":25},"end":{"line":168,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"281","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":170,"column":13},"end":{"line":173,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"282","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":171,"column":23},"end":{"line":171,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"283","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":172,"column":24},"end":{"line":172,"column":36}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"284","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":173,"column":25},"end":{"line":173,"column":33}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"285","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":175,"column":13},"end":{"line":178,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"286","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":176,"column":23},"end":{"line":176,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"287","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":177,"column":24},"end":{"line":177,"column":36}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"288","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":178,"column":25},"end":{"line":178,"column":33}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"289","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":180,"column":13},"end":{"line":183,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"290","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":181,"column":23},"end":{"line":181,"column":44}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"291","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":182,"column":24},"end":{"line":182,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"292","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":183,"column":25},"end":{"line":183,"column":33}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"293","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":185,"column":13},"end":{"line":188,"column":44}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"294","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":186,"column":23},"end":{"line":186,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"295","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":187,"column":24},"end":{"line":187,"column":31}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"296","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":188,"column":25},"end":{"line":188,"column":42}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"297","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":190,"column":13},"end":{"line":195,"column":61}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"298","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":191,"column":23},"end":{"line":191,"column":38}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"299","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":192,"column":24},"end":{"line":192,"column":31}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"300","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":193,"column":25},"end":{"line":193,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"301","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":194,"column":25},"end":{"line":194,"column":29}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"302","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":195,"column":25},"end":{"line":195,"column":59}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"303","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":199,"column":9},"end":{"line":220,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"304","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":200,"column":13},"end":{"line":201,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"305","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":201,"column":23},"end":{"line":201,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"306","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":203,"column":13},"end":{"line":204,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"307","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":204,"column":23},"end":{"line":204,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"308","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":206,"column":13},"end":{"line":207,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"309","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":207,"column":23},"end":{"line":207,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"310","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":209,"column":13},"end":{"line":210,"column":36}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"311","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":210,"column":23},"end":{"line":210,"column":34}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"312","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":212,"column":13},"end":{"line":213,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"313","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":213,"column":23},"end":{"line":213,"column":35}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"314","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":215,"column":13},"end":{"line":216,"column":32}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"315","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":216,"column":23},"end":{"line":216,"column":30}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"316","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":218,"column":13},"end":{"line":219,"column":32}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"317","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":219,"column":23},"end":{"line":219,"column":30}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Pages\\Account\\Login\\Index.cshtml.cs":{"language":"cs","source":"using DNTCaptcha.Core;\r\nusing Duende.IdentityServer.Services;\r\nusing Microsoft.AspNetCore.Authorization;\r\nusing Microsoft.AspNetCore.Mvc;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.BuildingBlocks.Application.Bus;\r\nusing TaskoMask.BuildingBlocks.Web.MVC.Pages;\r\nusing TaskoMask.Services.Identity.Api.Resources;\r\nusing TaskoMask.Services.Identity.Application.UseCases.UserLogin;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Pages.Account.Login\r\n{\r\n    [SecurityHeaders]\r\n    [AllowAnonymous]\r\n    public class Index : BasePageModel\r\n    {\r\n        #region Fields\r\n\r\n        private readonly IIdentityServerInteractionService _interactionService;\r\n        private readonly IDNTCaptchaValidatorService _validatorService;\r\n\r\n        [BindProperty]\r\n        public InputModel Input { get; set; }\r\n\r\n        #endregion\r\n\r\n        #region Ctors\r\n\r\n        public Index(IInMemoryBus requestDispatcher,\r\n            IIdentityServerInteractionService interactionService,\r\n            IDNTCaptchaValidatorService validatorService) : base(requestDispatcher)\r\n        {\r\n            _validatorService = validatorService;\r\n            _interactionService = interactionService;\r\n        }\r\n\r\n        #endregion\r\n\r\n        #region Public Methods\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public async Task\u003CIActionResult\u003E OnGet(string returnUrl)\r\n        {\r\n            await BuildModelAsync(returnUrl);\r\n\r\n            return Page();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n\r\n        public async Task\u003CIActionResult\u003E OnPost()\r\n        {\r\n            if (!_validatorService.HasRequestValidCaptchaEntry(Language.English, DisplayMode.SumOfTwoNumbers))\r\n                ModelState.AddModelError(\u0022\u0022, ApplicationMessages.Captcha_Is_Not_Valid);\r\n\r\n            if (!ModelState.IsValid)\r\n                return await LoginFailedAsync();\r\n\r\n            var loginRespone = await _requestDispatcher.SendQuery(new UserLoginRequest(Input.UserName, Input.Password, Input.RememberLogin));\r\n            if (loginRespone.IsSuccess)\r\n                return RedirectToReturnUrl(Input.ReturnUrl);\r\n\r\n            return await LoginFailedAsync(loginRespone.Errors);\r\n        }\r\n\r\n\r\n\r\n\r\n        #endregion\r\n\r\n        #region Private Methods\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        private async Task\u003CIActionResult\u003E LoginFailedAsync(IEnumerable\u003Cstring\u003E errors = null)\r\n        {\r\n            await BuildModelAsync(Input.ReturnUrl);\r\n\r\n            foreach (var error in errors ?? Enumerable.Empty\u003Cstring\u003E())\r\n                ModelState.AddModelError(string.Empty, error);\r\n\r\n            return Page();\r\n        }\r\n\r\n\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        private async Task BuildModelAsync(string returnUrl)\r\n        {\r\n            var context = await _interactionService.GetAuthorizationContextAsync(returnUrl);\r\n            ViewData[\u0022ClientUri\u0022] = context?.Client.ClientUri;\r\n\r\n            Input = new InputModel\r\n            {\r\n                ReturnUrl = returnUrl\r\n            };\r\n        }\r\n\r\n\r\n\r\n        private IActionResult RedirectToReturnUrl(string returnUrl)\r\n        {\r\n            return Redirect(returnUrl ?? \u0022/\u0022);\r\n        }\r\n\r\n        #endregion\r\n    }\r\n}","mutants":[{"id":"318","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":34,"column":9},"end":{"line":37,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"319","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":49,"column":9},"end":{"line":53,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"320","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":50,"column":13},"end":{"line":50,"column":46}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"321","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":62,"column":9},"end":{"line":74,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"322","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"_validatorService.HasRequestValidCaptchaEntry(Language.English, DisplayMode.SumOfTwoNumbers)","location":{"start":{"line":63,"column":17},"end":{"line":63,"column":110}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"323","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":64,"column":17},"end":{"line":64,"column":88}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"324","mutatorName":"String mutation","replacement":"\u0022Stryker was here!\u0022","location":{"start":{"line":64,"column":42},"end":{"line":64,"column":44}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"325","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"ModelState.IsValid","location":{"start":{"line":66,"column":17},"end":{"line":66,"column":36}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"326","mutatorName":"Negate expression","replacement":"!(loginRespone.IsSuccess)","location":{"start":{"line":70,"column":17},"end":{"line":70,"column":39}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"327","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":89,"column":9},"end":{"line":96,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"328","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":90,"column":13},"end":{"line":90,"column":52}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"329","mutatorName":"Null coalescing mutation (left to right)","replacement":"Enumerable.Empty\u003Cstring\u003E() ?? errors","location":{"start":{"line":92,"column":35},"end":{"line":92,"column":71}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"330","mutatorName":"Null coalescing mutation (remove right)","replacement":"Enumerable.Empty\u003Cstring\u003E()","location":{"start":{"line":92,"column":35},"end":{"line":92,"column":71}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"331","mutatorName":"Null coalescing mutation (remove left)","replacement":"errors","location":{"start":{"line":92,"column":35},"end":{"line":92,"column":71}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"332","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":93,"column":17},"end":{"line":93,"column":63}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"333","mutatorName":"String mutation","replacement":"\u0022Stryker was here!\u0022","location":{"start":{"line":93,"column":42},"end":{"line":93,"column":54}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"334","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":106,"column":9},"end":{"line":114,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"335","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":108,"column":22},"end":{"line":108,"column":33}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"336","mutatorName":"Object initializer mutation","replacement":"new InputModel\r\n{}","location":{"start":{"line":110,"column":21},"end":{"line":113,"column":14}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"337","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":119,"column":9},"end":{"line":121,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"338","mutatorName":"Null coalescing mutation (left to right)","replacement":"\u0022/\u0022 ?? returnUrl","location":{"start":{"line":120,"column":29},"end":{"line":120,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"339","mutatorName":"Null coalescing mutation (remove right)","replacement":"\u0022/\u0022","location":{"start":{"line":120,"column":29},"end":{"line":120,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"340","mutatorName":"Null coalescing mutation (remove left)","replacement":"returnUrl","location":{"start":{"line":120,"column":29},"end":{"line":120,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"341","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":120,"column":42},"end":{"line":120,"column":45}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Pages\\Account\\Login\\InputModel.cs":{"language":"cs","source":"using System.ComponentModel.DataAnnotations;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Pages.Account.Login\r\n{\r\n    public class InputModel\r\n    {\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string UserName { get; set; }\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string Password { get; set; }\r\n\r\n        public bool RememberLogin { get; set; }\r\n\r\n        public string ReturnUrl { get; set; }\r\n    }\r\n}\r\n","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Pages\\Account\\Logout\\Index.cshtml.cs":{"language":"cs","source":"using Duende.IdentityServer.Events;\r\nusing Duende.IdentityServer.Extensions;\r\nusing Duende.IdentityServer.Services;\r\nusing IdentityModel;\r\nusing Microsoft.AspNetCore.Authentication;\r\nusing Microsoft.AspNetCore.Authorization;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing Microsoft.AspNetCore.Mvc;\r\nusing Microsoft.AspNetCore.Mvc.RazorPages;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.Services.Identity.Api.Configuration;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Pages.Account.Logout\r\n{\r\n    [SecurityHeaders]\r\n    [AllowAnonymous]\r\n    public class Index : PageModel\r\n    {\r\n        private readonly SignInManager\u003CUser\u003E _signInManager;\r\n        private readonly IIdentityServerInteractionService _interaction;\r\n        private readonly IEventService _events;\r\n\r\n        [BindProperty]\r\n        public string LogoutId { get; set; }\r\n\r\n        public Index(SignInManager\u003CUser\u003E signInManager, IIdentityServerInteractionService interaction, IEventService events)\r\n        {\r\n            _signInManager = signInManager;\r\n            _interaction = interaction;\r\n            _events = events;\r\n        }\r\n\r\n        public async Task\u003CIActionResult\u003E OnGet(string logoutId)\r\n        {\r\n            LogoutId = logoutId;\r\n\r\n            return await OnPost();\r\n        }\r\n\r\n        public async Task\u003CIActionResult\u003E OnPost()\r\n        {\r\n            if (User?.Identity.IsAuthenticated == true)\r\n            {\r\n                // if there\u0027s no current logout context, we need to create one\r\n                // this captures necessary info from the current logged in user\r\n                // this can still return null if there is no context needed\r\n                LogoutId ??= await _interaction.CreateLogoutContextAsync();\r\n\r\n                // delete local authentication cookie\r\n                await _signInManager.SignOutAsync();\r\n\r\n                // raise the logout event\r\n                await _events.RaiseAsync(new UserLogoutSuccessEvent(User.GetSubjectId(), User.GetDisplayName()));\r\n\r\n                // see if we need to trigger federated logout\r\n                var idp = User.FindFirst(JwtClaimTypes.IdentityProvider)?.Value;\r\n\r\n                // if it\u0027s a local login we can ignore this workflow\r\n                if (idp != null \u0026\u0026 idp != Duende.IdentityServer.IdentityServerConstants.LocalIdentityProvider)\r\n                {\r\n                    // we need to see if the provider supports external logout\r\n                    if (await HttpContext.GetSchemeSupportsSignOut(idp))\r\n                    {\r\n                        // build a return URL so the upstream provider will redirect back\r\n                        // to us after the user has logged out. this allows us to then\r\n                        // complete our single sign-out processing.\r\n                        string url = Url.Page(\u0022/Account/Logout/Loggedout\u0022, new { logoutId = LogoutId });\r\n\r\n                        // this triggers a redirect to the external provider for sign-out\r\n                        return SignOut(new AuthenticationProperties { RedirectUri = url }, idp);\r\n                    }\r\n                }\r\n            }\r\n\r\n            return RedirectToPage(\u0022/Account/Logout/LoggedOut\u0022, new { logoutId = LogoutId });\r\n        }\r\n    }\r\n}","mutants":[{"id":"342","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":28,"column":9},"end":{"line":32,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"343","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":35,"column":9},"end":{"line":39,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"344","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":42,"column":9},"end":{"line":77,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"345","mutatorName":"Equality mutation","replacement":"User?.Identity.IsAuthenticated != true","location":{"start":{"line":43,"column":17},"end":{"line":43,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"346","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":43,"column":51},"end":{"line":43,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"347","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":44,"column":13},"end":{"line":74,"column":14}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"348","mutatorName":"CoalesceAssignmentExpression to SimpleAssignmentExpression mutation","replacement":"LogoutId = await _interaction.CreateLogoutContextAsync()","location":{"start":{"line":48,"column":17},"end":{"line":48,"column":75}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"349","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":51,"column":17},"end":{"line":51,"column":53}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"350","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":54,"column":17},"end":{"line":54,"column":114}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"351","mutatorName":"Logical mutation","replacement":"idp != null || idp != Duende.IdentityServer.IdentityServerConstants.LocalIdentityProvider","location":{"start":{"line":60,"column":21},"end":{"line":60,"column":110}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"352","mutatorName":"Negate expression","replacement":"!(idp != null \u0026\u0026 idp != Duende.IdentityServer.IdentityServerConstants.LocalIdentityProvider)","location":{"start":{"line":60,"column":21},"end":{"line":60,"column":110}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"353","mutatorName":"Equality mutation","replacement":"idp == null","location":{"start":{"line":60,"column":21},"end":{"line":60,"column":32}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"354","mutatorName":"Equality mutation","replacement":"idp == Duende.IdentityServer.IdentityServerConstants.LocalIdentityProvider","location":{"start":{"line":60,"column":36},"end":{"line":60,"column":110}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"355","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":61,"column":17},"end":{"line":73,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"356","mutatorName":"Negate expression","replacement":"!(await HttpContext.GetSchemeSupportsSignOut(idp))","location":{"start":{"line":63,"column":25},"end":{"line":63,"column":72}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"357","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":64,"column":21},"end":{"line":72,"column":22}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"358","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":68,"column":47},"end":{"line":68,"column":74}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"359","mutatorName":"Object initializer mutation","replacement":"new AuthenticationProperties {}","location":{"start":{"line":71,"column":40},"end":{"line":71,"column":90}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"360","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":76,"column":35},"end":{"line":76,"column":62}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Pages\\Account\\Logout\\LoggedOut.cshtml.cs":{"language":"cs","source":"using Duende.IdentityServer.Services;\r\nusing Microsoft.AspNetCore.Authorization;\r\nusing Microsoft.AspNetCore.Mvc;\r\nusing Microsoft.AspNetCore.Mvc.RazorPages;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Pages.Account.Logout\r\n{\r\n    [SecurityHeaders]\r\n    [AllowAnonymous]\r\n    public class LoggedOut : PageModel\r\n    {\r\n        private readonly IIdentityServerInteractionService _interactionService;\r\n\r\n\r\n        public LoggedOut(IIdentityServerInteractionService interactionService)\r\n        {\r\n            _interactionService = interactionService;\r\n        }\r\n\r\n        public async Task\u003CIActionResult\u003E OnGet(string logoutId)\r\n        {\r\n            // get context information (client name, post logout redirect URI and iframe for federated signout)\r\n            var logout = await _interactionService.GetLogoutContextAsync(logoutId);\r\n            var postLogoutRedirectUri = logout?.PostLogoutRedirectUri;\r\n\r\n            return Redirect(postLogoutRedirectUri??\u0022/\u0022);\r\n        }\r\n    }\r\n}","mutants":[{"id":"361","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":17,"column":9},"end":{"line":19,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"362","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":22,"column":9},"end":{"line":28,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"363","mutatorName":"Null coalescing mutation (left to right)","replacement":"\u0022/\u0022??postLogoutRedirectUri","location":{"start":{"line":27,"column":29},"end":{"line":27,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"364","mutatorName":"Null coalescing mutation (remove right)","replacement":"\u0022/\u0022","location":{"start":{"line":27,"column":29},"end":{"line":27,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"365","mutatorName":"Null coalescing mutation (remove left)","replacement":"postLogoutRedirectUri","location":{"start":{"line":27,"column":29},"end":{"line":27,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"366","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":27,"column":52},"end":{"line":27,"column":55}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Pages\\Index.cshtml.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Authorization;\r\nusing Microsoft.AspNetCore.Mvc.RazorPages;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Pages\r\n{\r\n    [AllowAnonymous]\r\n    public class Index : PageModel\r\n    {\r\n\r\n        public void OnGet()\r\n        {\r\n        }\r\n    }\r\n}","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Pages\\SecurityHeadersAttribute.cs":{"language":"cs","source":"// Copyright (c) Duende Software. All rights reserved.\r\n// See LICENSE in the project root for license information.\r\n\r\n\r\nusing Microsoft.AspNetCore.Mvc.Filters;\r\nusing Microsoft.AspNetCore.Mvc.RazorPages;\r\n\r\nnamespace TaskoMask.Services.Identity.Api.Pages\r\n{\r\n    public class SecurityHeadersAttribute : ActionFilterAttribute\r\n    {\r\n        public override void OnResultExecuting(ResultExecutingContext context)\r\n        {\r\n            var result = context.Result;\r\n            if (result is PageResult)\r\n            {\r\n                // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options\r\n                if (!context.HttpContext.Response.Headers.ContainsKey(\u0022X-Content-Type-Options\u0022))\r\n                {\r\n                    context.HttpContext.Response.Headers.Add(\u0022X-Content-Type-Options\u0022, \u0022nosniff\u0022);\r\n                }\r\n\r\n                // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options\r\n                if (!context.HttpContext.Response.Headers.ContainsKey(\u0022X-Frame-Options\u0022))\r\n                {\r\n                    context.HttpContext.Response.Headers.Add(\u0022X-Frame-Options\u0022, \u0022SAMEORIGIN\u0022);\r\n                }\r\n\r\n                // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy\r\n                var csp = \u0022default-src \u0027self\u0027; object-src \u0027none\u0027; frame-ancestors \u0027none\u0027; sandbox allow-forms allow-same-origin allow-scripts; base-uri \u0027self\u0027;\u0022;\r\n                // also consider adding upgrade-insecure-requests once you have HTTPS in place for production\r\n                //csp \u002B= \u0022upgrade-insecure-requests;\u0022;\r\n                // also an example if you need client images to be displayed from twitter\r\n                // csp \u002B= \u0022img-src \u0027self\u0027 https://pbs.twimg.com;\u0022;\r\n\r\n                // once for standards compliant browsers\r\n                if (!context.HttpContext.Response.Headers.ContainsKey(\u0022Content-Security-Policy\u0022))\r\n                {\r\n                    context.HttpContext.Response.Headers.Add(\u0022Content-Security-Policy\u0022, csp);\r\n                }\r\n                // and once again for IE\r\n                if (!context.HttpContext.Response.Headers.ContainsKey(\u0022X-Content-Security-Policy\u0022))\r\n                {\r\n                    context.HttpContext.Response.Headers.Add(\u0022X-Content-Security-Policy\u0022, csp);\r\n                }\r\n\r\n                // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy\r\n                var referrer_policy = \u0022no-referrer\u0022;\r\n                if (!context.HttpContext.Response.Headers.ContainsKey(\u0022Referrer-Policy\u0022))\r\n                {\r\n                    context.HttpContext.Response.Headers.Add(\u0022Referrer-Policy\u0022, referrer_policy);\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","mutants":[{"id":"367","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":13,"column":9},"end":{"line":54,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"368","mutatorName":"Negate expression","replacement":"!(result is PageResult)","location":{"start":{"line":15,"column":17},"end":{"line":15,"column":37}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"369","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":16,"column":13},"end":{"line":53,"column":14}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"370","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"context.HttpContext.Response.Headers.ContainsKey(\u0022X-Content-Type-Options\u0022)","location":{"start":{"line":18,"column":21},"end":{"line":18,"column":96}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"371","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":18,"column":71},"end":{"line":18,"column":95}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"372","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":19,"column":17},"end":{"line":21,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"373","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":20,"column":21},"end":{"line":20,"column":99}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"374","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":20,"column":62},"end":{"line":20,"column":86}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"375","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":20,"column":88},"end":{"line":20,"column":97}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"376","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"context.HttpContext.Response.Headers.ContainsKey(\u0022X-Frame-Options\u0022)","location":{"start":{"line":24,"column":21},"end":{"line":24,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"377","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":24,"column":71},"end":{"line":24,"column":88}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"378","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":25,"column":17},"end":{"line":27,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"379","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":26,"column":21},"end":{"line":26,"column":95}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"380","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":26,"column":62},"end":{"line":26,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"381","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":26,"column":81},"end":{"line":26,"column":93}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"382","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":30,"column":27},"end":{"line":30,"column":161}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"383","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"context.HttpContext.Response.Headers.ContainsKey(\u0022Content-Security-Policy\u0022)","location":{"start":{"line":37,"column":21},"end":{"line":37,"column":97}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"384","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":37,"column":71},"end":{"line":37,"column":96}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"385","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":38,"column":17},"end":{"line":40,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"386","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":39,"column":21},"end":{"line":39,"column":94}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"387","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":39,"column":62},"end":{"line":39,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"388","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"context.HttpContext.Response.Headers.ContainsKey(\u0022X-Content-Security-Policy\u0022)","location":{"start":{"line":42,"column":21},"end":{"line":42,"column":99}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"389","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":42,"column":71},"end":{"line":42,"column":98}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"390","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":43,"column":17},"end":{"line":45,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"391","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":44,"column":21},"end":{"line":44,"column":96}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"392","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":44,"column":62},"end":{"line":44,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"393","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":48,"column":39},"end":{"line":48,"column":52}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"394","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"context.HttpContext.Response.Headers.ContainsKey(\u0022Referrer-Policy\u0022)","location":{"start":{"line":49,"column":21},"end":{"line":49,"column":89}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"395","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":49,"column":71},"end":{"line":49,"column":88}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"396","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":50,"column":17},"end":{"line":52,"column":18}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"397","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":51,"column":21},"end":{"line":51,"column":98}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"398","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":51,"column":62},"end":{"line":51,"column":79}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\Program.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Builder;\r\nusing TaskoMask.Services.Identity.Api.Configuration;\r\n\r\nvar builder = WebApplication.CreateBuilder(args);\r\nvar app = builder\r\n    .ConfigureServices()\r\n    .ConfigurePipeline();\r\n\r\napp.Run();\r\n","mutants":[{"id":"399","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":9,"column":1},"end":{"line":9,"column":11}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\RegisterUser\\RegisterUserRequest.cs":{"language":"cs","source":"using System.ComponentModel.DataAnnotations;\r\nusing TaskoMask.BuildingBlocks.Application.Commands;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.RegisterUser\r\n{\r\n    public class RegisterUserRequest: BaseCommand\r\n    {\r\n\r\n        public RegisterUserRequest(string ownerId, string email, string password)\r\n        {\r\n            OwnerId = ownerId;\r\n            Email = email;\r\n            Password = password;\r\n        }\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string OwnerId { get; }\r\n\r\n\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string Email { get; }\r\n\r\n\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string Password { get; }\r\n\r\n    }\r\n}\r\n","mutants":[{"id":"400","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":11,"column":9},"end":{"line":15,"column":10}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f"]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\RegisterUser\\RegisterUserUseCase.cs":{"language":"cs","source":"using MediatR;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.BuildingBlocks.Application.Bus;\r\nusing TaskoMask.BuildingBlocks.Application.Commands;\r\nusing TaskoMask.BuildingBlocks.Application.Exceptions;\r\nusing TaskoMask.BuildingBlocks.Application.Notifications;\r\nusing TaskoMask.BuildingBlocks.Contracts.Events;\r\nusing TaskoMask.BuildingBlocks.Contracts.Helpers;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\nusing TaskoMask.Services.Identity.Api.Resources;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\nusing TaskoMask.Services.Identity.Domain.Events;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.RegisterUser\r\n{\r\n    public class RegisterUserUseCase : BaseCommandHandler, IRequestHandler\u003CRegisterUserRequest, CommandResult\u003E\r\n    {\r\n        private readonly UserManager\u003CUser\u003E _userManager;\r\n        private readonly INotificationHandler _notifications;\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public RegisterUserUseCase(UserManager\u003CUser\u003E userManager, IMessageBus eventPublisher, IInMemoryBus requestDispatcher, INotificationHandler notifications) : base(eventPublisher,requestDispatcher)\r\n        {\r\n            _userManager = userManager;\r\n            _notifications = notifications;\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public async Task\u003CCommandResult\u003E Handle(RegisterUserRequest request, CancellationToken cancellationToken)\r\n        {\r\n            var existUser = await _userManager.FindByNameAsync(request.Email);\r\n            if (existUser != null)\r\n                throw new ApplicationException(ApplicationMessages.UserName_Already_Exist);\r\n\r\n            var newUser = new User(request.OwnerId)\r\n            {\r\n                Email = request.Email,\r\n                UserName = request.Email,\r\n                IsActive=true\r\n            };\r\n\r\n            var result = await _userManager.CreateAsync(newUser, request.Password);\r\n            if (!result.Succeeded)\r\n            {\r\n                NotifyValidationErrors(result);\r\n                throw new ApplicationException(ContractsMessages.Create_Failed);\r\n            }\r\n\r\n            await PublishDomainEventsAsync(new UserRegisteredEvent(newUser.Id, newUser.Email));\r\n           \r\n            await PublishIntegrationEventAsync(new UserRegistered(newUser.Email));\r\n            \r\n            return CommandResult.Create(ContractsMessages.Create_Success, newUser.Id);\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        private void NotifyValidationErrors(IdentityResult identityResult)\r\n        {\r\n            var errors = identityResult.Errors.Select(e =\u003E e.Description).ToList();\r\n\r\n            foreach (var error in errors)\r\n                _notifications.Add(this.GetType().Name, error);\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"401","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":30,"column":9},"end":{"line":33,"column":10}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee"]},{"id":"402","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":41,"column":9},"end":{"line":65,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":[]},{"id":"403","mutatorName":"Equality mutation","replacement":"existUser == null","location":{"start":{"line":43,"column":17},"end":{"line":43,"column":34}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f","cdb80f2d-6f5a-0673-16ee-7eade332e9ee"]},{"id":"404","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":44,"column":17},"end":{"line":44,"column":92}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f"],"killedBy":["022b08fa-8f4d-b187-555a-bb61cac7f52f"]},{"id":"405","mutatorName":"Object initializer mutation","replacement":"new User(request.OwnerId)\r\n{}","location":{"start":{"line":46,"column":27},"end":{"line":51,"column":14}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"]},{"id":"406","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":50,"column":26},"end":{"line":50,"column":30}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":[]},{"id":"407","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"result.Succeeded","location":{"start":{"line":54,"column":17},"end":{"line":54,"column":34}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"]},{"id":"408","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":55,"column":13},"end":{"line":58,"column":14}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"409","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":56,"column":17},"end":{"line":56,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"410","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":57,"column":17},"end":{"line":57,"column":81}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"411","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":60,"column":13},"end":{"line":60,"column":96}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"]},{"id":"412","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":62,"column":13},"end":{"line":62,"column":83}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"],"killedBy":["cdb80f2d-6f5a-0673-16ee-7eade332e9ee"]},{"id":"413","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":73,"column":9},"end":{"line":78,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"414","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":77,"column":17},"end":{"line":77,"column":64}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\RegisterUser\\RegisterUserValidation.cs":{"language":"cs","source":"using FluentValidation;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.RegisterUser\r\n{\r\n    public abstract class RegisterUserValidation\u003CTRequest\u003E : AbstractValidator\u003CTRequest\u003E where TRequest : RegisterUserRequest\r\n    {\r\n        public RegisterUserValidation()\r\n        {\r\n        }\r\n\r\n    }\r\n}\r\n","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\UpdateUser\\UpdateUserRequest.cs":{"language":"cs","source":"using System.ComponentModel.DataAnnotations;\r\nusing TaskoMask.BuildingBlocks.Application.Commands;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.UpdateUser\r\n{\r\n    public class UpdateUserRequest: BaseCommand\r\n    {\r\n\r\n        public UpdateUserRequest(string oldEmail, string newEmail)\r\n        {\r\n            OldEmail = oldEmail;\r\n            NewEmail = newEmail;\r\n        }\r\n\r\n\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string OldEmail { get; }\r\n\r\n\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string NewEmail { get; }\r\n\r\n    }\r\n}\r\n","mutants":[{"id":"415","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":11,"column":9},"end":{"line":14,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\UpdateUser\\UpdateUserUseCase.cs":{"language":"cs","source":"using MediatR;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.BuildingBlocks.Application.Bus;\r\nusing TaskoMask.BuildingBlocks.Application.Commands;\r\nusing TaskoMask.BuildingBlocks.Application.Exceptions;\r\nusing TaskoMask.BuildingBlocks.Application.Notifications;\r\nusing TaskoMask.BuildingBlocks.Contracts.Events;\r\nusing TaskoMask.BuildingBlocks.Contracts.Helpers;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\nusing TaskoMask.BuildingBlocks.Domain.Resources;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\nusing TaskoMask.Services.Identity.Domain.Events;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.UpdateUser\r\n{\r\n    public class UpdateUserUseCase : BaseCommandHandler, IRequestHandler\u003CUpdateUserRequest, CommandResult\u003E\r\n    {\r\n        private readonly UserManager\u003CUser\u003E _userManager;\r\n        private readonly INotificationHandler _notifications;\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public UpdateUserUseCase(UserManager\u003CUser\u003E userManager, IMessageBus eventPublisher, IInMemoryBus requestDispatcher, INotificationHandler notifications) : base(eventPublisher,requestDispatcher)\r\n        {\r\n            _userManager = userManager;\r\n            _notifications = notifications;\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        public async Task\u003CCommandResult\u003E Handle(UpdateUserRequest request, CancellationToken cancellationToken)\r\n        {\r\n            var user = await _userManager.FindByNameAsync(request.OldEmail);\r\n            if (user == null)\r\n                throw new ApplicationException(ContractsMessages.Data_Not_exist, DomainMetadata.User);\r\n\r\n            user.Email = request.NewEmail;\r\n            user.UserName = request.NewEmail;\r\n\r\n            var result = await _userManager.UpdateAsync(user);\r\n            if (!result.Succeeded)\r\n            {\r\n                NotifyValidationErrors(result);\r\n                throw new ApplicationException(ContractsMessages.Update_Failed);\r\n            }\r\n          \r\n            await PublishDomainEventsAsync(new UserUpdatedEvent(user.Id, user.Email));\r\n           \r\n            await PublishIntegrationEventAsync(new UserUpdated(user.Email));\r\n            \r\n            return CommandResult.Create(ContractsMessages.Update_Success, user.Id);\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        private void NotifyValidationErrors(IdentityResult identityResult)\r\n        {\r\n            var errors = identityResult.Errors.Select(e =\u003E e.Description).ToList();\r\n\r\n            foreach (var error in errors)\r\n                _notifications.Add(this.GetType().Name, error);\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"416","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":30,"column":9},"end":{"line":33,"column":10}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"417","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":41,"column":9},"end":{"line":61,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"418","mutatorName":"Equality mutation","replacement":"user != null","location":{"start":{"line":43,"column":17},"end":{"line":43,"column":29}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"419","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":44,"column":17},"end":{"line":44,"column":103}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"420","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"result.Succeeded","location":{"start":{"line":50,"column":17},"end":{"line":50,"column":34}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"421","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":51,"column":13},"end":{"line":54,"column":14}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"422","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"423","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":53,"column":17},"end":{"line":53,"column":81}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"424","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":56,"column":13},"end":{"line":56,"column":87}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"425","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":58,"column":13},"end":{"line":58,"column":77}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]},{"id":"426","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":69,"column":9},"end":{"line":74,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":[],"killedBy":[]},{"id":"427","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":73,"column":17},"end":{"line":73,"column":64}},"status":"NoCoverage","statusReason":"Not covered by any test.","static":false,"coveredBy":[],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\UpdateUser\\UpdateUserValidation.cs":{"language":"cs","source":"using FluentValidation;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.UpdateUser\r\n{\r\n    public abstract class UpdateUserValidation\u003CTRequest\u003E : AbstractValidator\u003CTRequest\u003E where TRequest : UpdateUserRequest\r\n    {\r\n        public UpdateUserValidation()\r\n        {\r\n        }\r\n\r\n    }\r\n}\r\n","mutants":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\UserLogin\\UserLoginRequest.cs":{"language":"cs","source":"using System.ComponentModel.DataAnnotations;\r\nusing TaskoMask.BuildingBlocks.Application.Queries;\r\nusing TaskoMask.BuildingBlocks.Contracts.Helpers;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.UserLogin\r\n{\r\n    public class UserLoginRequest : BaseQuery\u003CResult\u003E\r\n    {\r\n        public UserLoginRequest(string userName, string password, bool rememberLogin)\r\n        {\r\n            UserName = userName;\r\n            Password = password;\r\n            RememberLogin = rememberLogin;\r\n        }\r\n\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string UserName { get; }\r\n\r\n        [Required(ErrorMessageResourceName = nameof(ContractsMetadata.Required), ErrorMessageResourceType = typeof(ContractsMetadata))]\r\n        public string Password { get; }\r\n\r\n        public bool RememberLogin { get; }\r\n\r\n    }\r\n}\r\n","mutants":[{"id":"428","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":11,"column":9},"end":{"line":15,"column":10}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","bfbbce09-7fa8-0860-0c87-d06b80f9f153"]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\UserLogin\\UserLoginUseCase.cs":{"language":"cs","source":"using AutoMapper;\r\nusing MediatR;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.BuildingBlocks.Application.Exceptions;\r\nusing TaskoMask.BuildingBlocks.Application.Queries;\r\nusing TaskoMask.BuildingBlocks.Contracts.Helpers;\r\nusing TaskoMask.BuildingBlocks.Contracts.Resources;\r\nusing TaskoMask.Services.Identity.Api.Resources;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.UserLogin\r\n{\r\n    public class UserLoginUseCase : BaseQueryHandler, IRequestHandler\u003CUserLoginRequest, Result\u003E\r\n    {\r\n        private readonly UserManager\u003CUser\u003E _userManager;\r\n        private readonly SignInManager\u003CUser\u003E _signInManager;\r\n\r\n\r\n        public UserLoginUseCase(UserManager\u003CUser\u003E userManager, SignInManager\u003CUser\u003E signInManager, IMapper mapper) : base(mapper)\r\n        {\r\n            _userManager = userManager;\r\n            _signInManager = signInManager;\r\n        }\r\n\r\n\r\n        public async Task\u003CResult\u003E Handle(UserLoginRequest request, CancellationToken cancellationToken)\r\n        {\r\n            var signInAsync = await _signInManager.PasswordSignInAsync(request.UserName, request.Password, request.RememberLogin, lockoutOnFailure: true);\r\n            if (!signInAsync.Succeeded)\r\n                throw new ApplicationException(ApplicationMessages.Invalid_Credentials);\r\n\r\n            var user = await _userManager.FindByNameAsync(request.UserName);\r\n            if (!user.IsActive)\r\n                throw new ApplicationException(ApplicationMessages.Deactive_User_Can_Not_Login);\r\n\r\n            await _userManager.AddLoginAsync(user, new UserLoginInfo(\u0022local\u0022, \u0022local\u0022, \u0022local\u0022));\r\n\r\n            return Result.Success(ContractsMessages.Operation_Success);\r\n\r\n        }\r\n    }\r\n}\r\n","mutants":[{"id":"429","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":22,"column":9},"end":{"line":25,"column":10}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"]},{"id":"430","mutatorName":"Block removal mutation","replacement":"{}","location":{"start":{"line":29,"column":9},"end":{"line":42,"column":10}},"status":"Ignored","statusReason":"Removed by block already covered filter","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":[]},{"id":"431","mutatorName":"Boolean mutation","replacement":"false","location":{"start":{"line":30,"column":149},"end":{"line":30,"column":153}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":[]},{"id":"432","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"signInAsync.Succeeded","location":{"start":{"line":31,"column":17},"end":{"line":31,"column":39}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","220ccee5-359c-c1d5-fb98-1a0afd971612","bfbbce09-7fa8-0860-0c87-d06b80f9f153"]},{"id":"433","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":32,"column":17},"end":{"line":32,"column":89}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["220ccee5-359c-c1d5-fb98-1a0afd971612"],"killedBy":["220ccee5-359c-c1d5-fb98-1a0afd971612"]},{"id":"434","mutatorName":"LogicalNotExpression to un-LogicalNotExpression mutation","replacement":"user.IsActive","location":{"start":{"line":35,"column":17},"end":{"line":35,"column":31}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765","bfbbce09-7fa8-0860-0c87-d06b80f9f153"]},{"id":"435","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":36,"column":17},"end":{"line":36,"column":97}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["bfbbce09-7fa8-0860-0c87-d06b80f9f153"],"killedBy":["bfbbce09-7fa8-0860-0c87-d06b80f9f153"]},{"id":"436","mutatorName":"Statement mutation","replacement":";","location":{"start":{"line":38,"column":13},"end":{"line":38,"column":98}},"status":"Killed","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765"],"killedBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765"]},{"id":"437","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":38,"column":70},"end":{"line":38,"column":77}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765"],"killedBy":[]},{"id":"438","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":38,"column":79},"end":{"line":38,"column":86}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765"],"killedBy":[]},{"id":"439","mutatorName":"String mutation","replacement":"\u0022\u0022","location":{"start":{"line":38,"column":88},"end":{"line":38,"column":95}},"status":"Survived","statusReason":"Non-CSharp files in test project were changed","static":false,"coveredBy":["b5529fd2-b108-f4f8-7f34-2f79ac16d765"],"killedBy":[]}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Api\\Identity.Api\\UseCases\\UserLogin\\UserLoginValidation.cs":{"language":"cs","source":"using FluentValidation;\r\n\r\nnamespace TaskoMask.Services.Identity.Application.UseCases.UserLogin\r\n{\r\n    public abstract class UserLoginValidation\u003CTRequest\u003E : AbstractValidator\u003CTRequest\u003E where TRequest : UserLoginRequest\r\n    {\r\n        public UserLoginValidation()\r\n        {\r\n\r\n        }\r\n    }\r\n}\r\n","mutants":[]}},"testFiles":{"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\Fixtures\\TestsBaseFixture.cs":{"language":"cs","source":"using AutoMapper;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing NSubstitute;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing TaskoMask.BuildingBlocks.Application.Bus;\r\nusing TaskoMask.BuildingBlocks.Application.Notifications;\r\nusing TaskoMask.BuildingBlocks.Test.TestBase;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\nusing TaskoMask.Services.Identity.Tests.Unit.Helpers;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.Fixtures\r\n{\r\n\r\n    /// \u003Csummary\u003E\r\n    /// \r\n    /// \u003C/summary\u003E\r\n    public abstract class TestsBaseFixture : UnitTestsBase\r\n    {\r\n\r\n        public TestUserManager TestUserManager;\r\n        public TestSignInManager TestSignInManager;\r\n        public INotificationHandler NotificationHandler;\r\n        public IMessageBus MessageBus;\r\n        public IInMemoryBus InMemoryBus;\r\n        public IMapper Mapper;\r\n\r\n        public List\u003CUser\u003E TestUsers;\r\n        public List\u003CUserLogin\u003E TestUserLogins;\r\n\r\n\r\n\r\n\r\n\r\n        ///// \u003Csummary\u003E\r\n        ///// \r\n        ///// \u003C/summary\u003E\r\n        protected override void FixtureSetup()\r\n        {\r\n            CommonFixtureSetup();\r\n\r\n            TestClassFixtureSetup();\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// \r\n        /// \u003C/summary\u003E\r\n        private void CommonFixtureSetup()\r\n        {\r\n            TestUserManager = Substitute.For\u003CTestUserManager\u003E();\r\n            TestSignInManager = Substitute.For\u003CTestSignInManager\u003E(TestUserManager);\r\n            TestUsers = new List\u003CUser\u003E();\r\n            TestUserLogins = new List\u003CUserLogin\u003E();\r\n            NotificationHandler = Substitute.For\u003CINotificationHandler\u003E();\r\n            MessageBus = Substitute.For\u003CIMessageBus\u003E();\r\n            InMemoryBus = Substitute.For\u003CIInMemoryBus\u003E();\r\n            Mapper = Substitute.For\u003CIMapper\u003E();\r\n\r\n            TestSignInManager.PasswordSignInAsync(userName: Arg.Any\u003Cstring\u003E(), password: Arg.Any\u003Cstring\u003E(), isPersistent: Arg.Any\u003Cbool\u003E(), lockoutOnFailure: Arg.Any\u003Cbool\u003E()).Returns(args =\u003E\r\n            {\r\n                var userExist = TestUsers.Any(u =\u003E u.UserName == (string)args[0] \u0026\u0026 u.PasswordHash == (string)args[1]);\r\n\r\n                return userExist ? new TestSignInResult(true) : new TestSignInResult(false);\r\n            });\r\n\r\n\r\n            TestUserManager.FindByNameAsync(userName: Arg.Any\u003Cstring\u003E()).Returns(args =\u003E\r\n            {\r\n                return TestUsers.FirstOrDefault(u =\u003E u.UserName == (string)args[0]);\r\n            });\r\n\r\n\r\n            TestUserManager.CreateAsync(user: Arg.Any\u003CUser\u003E(), password: Arg.Any\u003Cstring\u003E()).Returns(args =\u003E\r\n            {\r\n                TestUsers.Add((User)args[0]);\r\n                return new TestIdentityResult(true);\r\n            });\r\n\r\n\r\n            TestUserManager.AddLoginAsync(user: Arg.Any\u003CUser\u003E(), login: Arg.Any\u003CUserLoginInfo\u003E()).Returns(args =\u003E\r\n            {\r\n                var user = (User)args[0];\r\n                var UserLoginInfo = (UserLoginInfo)args[1];\r\n                var userlogin = new UserLogin\r\n                {\r\n                    UserId = user.Id,\r\n                    LoginProvider = UserLoginInfo.LoginProvider,\r\n                    ProviderDisplayName = UserLoginInfo.ProviderDisplayName,\r\n                    ProviderKey = UserLoginInfo.ProviderKey,\r\n                };\r\n                TestUserLogins.Add(userlogin);\r\n                return new TestIdentityResult(true);\r\n            });\r\n\r\n        }\r\n\r\n\r\n\r\n        /// \u003Csummary\u003E\r\n        /// Each test class should setup its own fixture\r\n        /// \u003C/summary\u003E\r\n        protected abstract void TestClassFixtureSetup();\r\n    }\r\n}","tests":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\Helpers\\TestIdentityResult.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.Helpers\r\n{\r\n    public class TestIdentityResult : IdentityResult\r\n    {\r\n        public TestIdentityResult(bool succeeded = false)\r\n        {\r\n            Succeeded = succeeded;\r\n        }\r\n    }\r\n}\r\n","tests":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\Helpers\\TestSignInManager.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Authentication;\r\nusing Microsoft.AspNetCore.Http;\r\nusing Microsoft.AspNetCore.Identity;\r\nusing Microsoft.Extensions.Logging;\r\nusing Microsoft.Extensions.Options;\r\nusing NSubstitute;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.Helpers\r\n{\r\n    public class TestSignInManager : SignInManager\u003CUser\u003E\r\n    {\r\n\r\n        public TestSignInManager(TestUserManager userManager) : base(userManager, Substitute.For\u003CIHttpContextAccessor\u003E(), Substitute.For\u003CIUserClaimsPrincipalFactory\u003CUser\u003E\u003E(), Substitute.For\u003CIOptions\u003CIdentityOptions\u003E\u003E(), Substitute.For\u003CILogger\u003CSignInManager\u003CUser\u003E\u003E\u003E(), Substitute.For\u003CIAuthenticationSchemeProvider\u003E(), Substitute.For\u003CIUserConfirmation\u003CUser\u003E\u003E())\r\n        {\r\n        }\r\n    }\r\n}\r\n","tests":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\Helpers\\TestSignInResult.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.Helpers\r\n{\r\n    public class TestSignInResult : SignInResult\r\n    {\r\n        public TestSignInResult(bool succeeded = false)\r\n        {\r\n            Succeeded = succeeded;\r\n        }\r\n    }\r\n}\r\n","tests":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\Helpers\\TestUserManager.cs":{"language":"cs","source":"using Microsoft.AspNetCore.Identity;\r\nusing Microsoft.Extensions.Logging;\r\nusing Microsoft.Extensions.Options;\r\nusing NSubstitute;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.Helpers\r\n{\r\n    public class TestUserManager : UserManager\u003CUser\u003E\r\n    {\r\n        public TestUserManager() : base(Substitute.For\u003CIUserStore\u003CUser\u003E\u003E(), Substitute.For\u003CIOptions\u003CIdentityOptions\u003E\u003E(), Substitute.For\u003CIPasswordHasher\u003CUser\u003E\u003E(), Substitute.For\u003CIEnumerable\u003CIUserValidator\u003CUser\u003E\u003E\u003E(), Substitute.For\u003CIEnumerable\u003CIPasswordValidator\u003CUser\u003E\u003E\u003E(), Substitute.For\u003CILookupNormalizer\u003E(), Substitute.For\u003CIdentityErrorDescriber\u003E(), Substitute.For\u003CIServiceProvider\u003E(), Substitute.For\u003CILogger\u003CUserManager\u003CUser\u003E\u003E\u003E())\r\n        {\r\n        }\r\n    }\r\n}\r\n","tests":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\TestData\\UserBuilder.cs":{"language":"cs","source":"using System;\r\nusing TaskoMask.Services.Identity.Domain.Entities;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.TestData\r\n{\r\n    internal class UserBuilder\r\n    {\r\n        public string Id { get; private set; }\r\n        public string Email { get; private set; }\r\n        public string UserName { get; private set; }\r\n        public bool IsActive { get; private set; }\r\n        public string Password { get; private set; }\r\n\r\n\r\n        private UserBuilder()\r\n        {\r\n\r\n        }\r\n\r\n\r\n\r\n        public static UserBuilder Init()\r\n        {\r\n            return new UserBuilder();\r\n        }\r\n\r\n\r\n\r\n        public UserBuilder WithId(string id)\r\n        {\r\n            Id = id;\r\n            return this;\r\n        }\r\n\r\n\r\n\r\n        public UserBuilder WithEmail(string email)\r\n        {\r\n            Email = email;\r\n            return this;\r\n        }\r\n\r\n\r\n\r\n        public UserBuilder WithUserName(string userName)\r\n        {\r\n            UserName = userName;\r\n            return this;\r\n        }\r\n\r\n\r\n\r\n        public UserBuilder WithIsActive(bool isActive)\r\n        {\r\n            IsActive = isActive;\r\n            return this;\r\n        }\r\n\r\n\r\n\r\n        public UserBuilder WithPassword(string password)\r\n        {\r\n            Password = password;\r\n            return this;\r\n        }\r\n\r\n\r\n\r\n        public User Build()\r\n        {\r\n            return new User(Id)\r\n            {\r\n                UserName = UserName,\r\n                Email = Email,\r\n                IsActive = IsActive,\r\n                PasswordHash = Password\r\n            };\r\n        }\r\n\r\n\r\n    }\r\n}\r\n","tests":[]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\UseCases\\RegisterUserTests.cs":{"language":"cs","source":"using FluentAssertions;\r\nusing NSubstitute;\r\nusing System.Linq;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.BuildingBlocks.Application.Exceptions;\r\nusing TaskoMask.BuildingBlocks.Contracts.Events;\r\nusing TaskoMask.Services.Identity.Api.Resources;\r\nusing TaskoMask.Services.Identity.Application.UseCases.RegisterUser;\r\nusing TaskoMask.Services.Identity.Domain.Events;\r\nusing TaskoMask.Services.Identity.Tests.Unit.Fixtures;\r\nusing TaskoMask.Services.Identity.Tests.Unit.Helpers;\r\nusing TaskoMask.Services.Identity.Tests.Unit.TestData;\r\nusing Xunit;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.UseCases\r\n{\r\n    public class RegisterUserTests : TestsBaseFixture\r\n    {\r\n        #region Fields\r\n\r\n        private RegisterUserUseCase _regiserUserUseCase;\r\n\r\n        #endregion\r\n\r\n        #region Ctor\r\n\r\n        public RegisterUserTests()\r\n        {\r\n        }\r\n\r\n        #endregion\r\n\r\n        #region Test Methods\r\n\r\n\r\n        [Fact]\r\n        public async Task User_is_registered()\r\n        {\r\n            //Arrange\r\n            var registeredOwnerId = System.Guid.NewGuid().ToString();\r\n            var registerUserRequest = new RegisterUserRequest(registeredOwnerId, \u0022test@taskomask.ir\u0022, \u0022TestPass\u0022);\r\n\r\n            //Act\r\n            var result = await _regiserUserUseCase.Handle(registerUserRequest, CancellationToken.None);\r\n\r\n            //Assert\r\n            TestUsers.Should().HaveCount(1);\r\n            var registeredUser = TestUsers.FirstOrDefault(u =\u003E u.Id == result.EntityId);\r\n            registeredUser.UserName.Should().Be(registerUserRequest.Email);\r\n            await InMemoryBus.Received(1).PublishEvent(Arg.Any\u003CUserRegisteredEvent\u003E());\r\n            await MessageBus.Received(1).Publish(Arg.Any\u003CUserRegistered\u003E());\r\n        }\r\n\r\n\r\n\r\n\r\n        [Fact]\r\n        public async Task User_is_not_registered_if_email_is_duplicated()\r\n        {\r\n            //Arrange\r\n            var registeredOwnerId = System.Guid.NewGuid().ToString();\r\n            var expectedMessage = ApplicationMessages.UserName_Already_Exist;\r\n            var userBuilder = UserBuilder.Init()\r\n                .WithId(registeredOwnerId)\r\n                .WithUserName(\u0022test@taskomask.ir\u0022)\r\n                .WithEmail(\u0022test@taskomask.ir\u0022)\r\n                .WithPassword(\u0022TestPass\u0022)\r\n                .WithIsActive(true);\r\n\r\n            await TestUserManager.CreateAsync(userBuilder.Build(), userBuilder.Password);\r\n\r\n            var registerUserRequest = new RegisterUserRequest(registeredOwnerId,userBuilder.Email, \u0022TestPass\u0022);\r\n\r\n            //Act\r\n            System.Func\u003CTask\u003E act = async () =\u003E await _regiserUserUseCase.Handle(registerUserRequest, CancellationToken.None);\r\n\r\n            //Assert\r\n            await act.Should().ThrowAsync\u003CApplicationException\u003E().Where(e =\u003E e.Message.Equals(expectedMessage));\r\n        }\r\n\r\n        #endregion\r\n\r\n        #region Fixture\r\n\r\n        protected override void TestClassFixtureSetup()\r\n        {\r\n            _regiserUserUseCase = new RegisterUserUseCase(TestUserManager, MessageBus, InMemoryBus, NotificationHandler);\r\n        }\r\n\r\n        #endregion\r\n    }\r\n}\r\n","tests":[{"id":"cdb80f2d-6f5a-0673-16ee-7eade332e9ee","name":"TaskoMask.Services.Identity.Tests.Unit.UseCases.RegisterUserTests.User_is_registered","location":{"start":{"line":37,"column":9},"end":{"line":53,"column":10}}},{"id":"022b08fa-8f4d-b187-555a-bb61cac7f52f","name":"TaskoMask.Services.Identity.Tests.Unit.UseCases.RegisterUserTests.User_is_not_registered_if_email_is_duplicated","location":{"start":{"line":58,"column":9},"end":{"line":80,"column":10}}}]},"C:\\Users\\Hamed Shirbandi\\source\\repos\\TaskoMask\\src\\2-Services\\Identity\\Tests\\Identity.Tests.Unit\\UseCases\\UserLoginTests.cs":{"language":"cs","source":"using FluentAssertions;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing TaskoMask.BuildingBlocks.Application.Exceptions;\r\nusing TaskoMask.Services.Identity.Api.Resources;\r\nusing TaskoMask.Services.Identity.Application.UseCases.UserLogin;\r\nusing TaskoMask.Services.Identity.Tests.Unit.Fixtures;\r\nusing TaskoMask.Services.Identity.Tests.Unit.TestData;\r\nusing Xunit;\r\n\r\nnamespace TaskoMask.Services.Identity.Tests.Unit.UseCases\r\n{\r\n    public class UserLoginTests : TestsBaseFixture\r\n    {\r\n\r\n        #region Fields\r\n\r\n        private UserLoginUseCase _userLoginUseCase;\r\n\r\n        #endregion\r\n\r\n        #region Ctor\r\n\r\n        public UserLoginTests()\r\n        {\r\n        }\r\n\r\n        #endregion\r\n\r\n        #region Test Methods\r\n\r\n\r\n        [Fact]\r\n        public async Task User_is_logged_in()\r\n        {\r\n            //Arrange\r\n            var userBuilder = UserBuilder.Init()\r\n                .WithUserName(\u0022test@taskomask.ir\u0022)\r\n                .WithEmail(\u0022test@taskomask.ir\u0022)\r\n                .WithPassword(\u0022TestPass\u0022)\r\n                .WithIsActive(true);\r\n\r\n            TestUsers.Add(userBuilder.Build());\r\n\r\n            var userLoginRequest = new UserLoginRequest(userBuilder.UserName, userBuilder.Password, true);\r\n\r\n            //Act\r\n            var result = await _userLoginUseCase.Handle(userLoginRequest, CancellationToken.None);\r\n\r\n            //Assert\r\n            result.IsSuccess.Should().BeTrue();\r\n            TestUserLogins.Should().HaveCount(1);\r\n        }\r\n\r\n\r\n        [Fact]\r\n        public async Task User_is_not_logged_in_with_wrong_password()\r\n        {\r\n            //Arrange\r\n            var expectedMessage = ApplicationMessages.Invalid_Credentials;\r\n\r\n            var userBuilder = UserBuilder.Init()\r\n                .WithUserName(\u0022test@taskomask.ir\u0022)\r\n                .WithEmail(\u0022test@taskomask.ir\u0022)\r\n                .WithPassword(\u0022TestPass\u0022)\r\n                .WithIsActive(true);\r\n\r\n            TestUsers.Add(userBuilder.Build());\r\n\r\n            var userLoginRequest = new UserLoginRequest(userBuilder.UserName, \u0022wrongpass\u0022, true);\r\n\r\n            //Act\r\n            System.Func\u003CTask\u003E act = async () =\u003E await _userLoginUseCase.Handle(userLoginRequest, CancellationToken.None);\r\n\r\n            //Assert\r\n            await act.Should().ThrowAsync\u003CApplicationException\u003E().Where(e =\u003E e.Message.Equals(expectedMessage));\r\n        }\r\n\r\n\r\n        [Fact]\r\n        public async Task Deactive_user_is_not_logged_in()\r\n        {\r\n            //Arrange\r\n            var expectedMessage = ApplicationMessages.Deactive_User_Can_Not_Login;\r\n\r\n            var userBuilder = UserBuilder.Init()\r\n                .WithUserName(\u0022test@taskomask.ir\u0022)\r\n                .WithEmail(\u0022test@taskomask.ir\u0022)\r\n                .WithPassword(\u0022TestPass\u0022)\r\n                .WithIsActive(false);\r\n\r\n            TestUsers.Add(userBuilder.Build());\r\n\r\n            var userLoginRequest = new UserLoginRequest(userBuilder.UserName, userBuilder.Password, true);\r\n\r\n            //Act\r\n            System.Func\u003CTask\u003E act = async () =\u003E await _userLoginUseCase.Handle(userLoginRequest, CancellationToken.None);\r\n\r\n            //Assert\r\n            await act.Should().ThrowAsync\u003CApplicationException\u003E().Where(e =\u003E e.Message.Equals(expectedMessage));\r\n\r\n        }\r\n\r\n        #endregion\r\n\r\n        #region Fixture\r\n\r\n        protected override void TestClassFixtureSetup()\r\n        {\r\n            _userLoginUseCase = new UserLoginUseCase(TestUserManager, TestSignInManager, Mapper);\r\n        }\r\n\r\n        #endregion\r\n\r\n\r\n\r\n    }\r\n}\r\n","tests":[{"id":"b5529fd2-b108-f4f8-7f34-2f79ac16d765","name":"TaskoMask.Services.Identity.Tests.Unit.UseCases.UserLoginTests.User_is_logged_in","location":{"start":{"line":33,"column":9},"end":{"line":53,"column":10}}},{"id":"220ccee5-359c-c1d5-fb98-1a0afd971612","name":"TaskoMask.Services.Identity.Tests.Unit.UseCases.UserLoginTests.User_is_not_logged_in_with_wrong_password","location":{"start":{"line":56,"column":9},"end":{"line":77,"column":10}}},{"id":"bfbbce09-7fa8-0860-0c87-d06b80f9f153","name":"TaskoMask.Services.Identity.Tests.Unit.UseCases.UserLoginTests.Deactive_user_is_not_logged_in","location":{"start":{"line":80,"column":9},"end":{"line":102,"column":10}}}]}}};

            function updateTheme() {
                document.body.style.backgroundColor = app.themeBackgroundColor;
            }
            app.addEventListener('theme-changed', updateTheme);
            updateTheme();
        </script>
    </body>
</html>

